Beispiel #1
0
    @Override
    public void define(Context context) {
      NewRepository repo = context.createRepository("fake", "java");

      // almost all the attributes of rule1 are changed
      NewRule rule1 =
          repo.createRule("rule1")
              .setName("One v2")
              .setHtmlDescription("Description of One v2")
              .setSeverity(Severity.INFO)
              .setInternalKey("config1 v2")
              // tag2 and tag3 removed, tag4 added
              .setTags("tag1", "tag4")
              .setStatus(RuleStatus.READY)
              .setDebtSubCharacteristic("MEMORY_EFFICIENCY")
              .setEffortToFixDescription("squid.S115.effortToFix.v2");
      rule1.setDebtRemediationFunction(
          rule1.debtRemediationFunctions().linearWithOffset("6d", "2h"));
      rule1.createParam("param1").setDescription("parameter one v2").setDefaultValue("default1 v2");
      rule1.createParam("param2").setDescription("parameter two v2").setDefaultValue("default2 v2");

      // rule2 is dropped, rule3 is new
      repo.createRule("rule3").setName("Three").setHtmlDescription("Rule Three");
      repo.done();
    }
Beispiel #2
0
    @Override
    public void define(Context context) {
      NewRepository repo = context.createRepository("fake", "java");
      NewRule rule1 =
          repo.createRule("rule1")
              .setName("One")
              .setHtmlDescription("Description of One")
              .setSeverity(Severity.BLOCKER)
              .setInternalKey("config1")
              .setTags("tag1", "tag2", "tag3")
              .setStatus(RuleStatus.BETA)
              .setDebtSubCharacteristic("MEMORY_EFFICIENCY")
              .setEffortToFixDescription("squid.S115.effortToFix");
      rule1.setDebtRemediationFunction(
          rule1.debtRemediationFunctions().linearWithOffset("5d", "10h"));

      rule1.createParam("param1").setDescription("parameter one").setDefaultValue("default1");
      rule1.createParam("param2").setDescription("parameter two").setDefaultValue("default2");

      repo.createRule("rule2").setName("Two").setHtmlDescription("Minimal rule");
      repo.done();
    }
    @Override
    public void define(Context context) {
      if (includeX1
          || includeX1bis
          || includeX2
          || includeTemplate1
          || includeRuleLinkedToRootCharacteristic) {
        NewRepository repository = context.createRepository("xoo", "xoo").setName("Xoo Repo");
        if (includeX1) {
          NewRule x1Rule =
              repository
                  .createRule(RuleTesting.XOO_X1.rule())
                  .setName("x1 name")
                  .setHtmlDescription("x1 desc")
                  .setSeverity(Severity.MINOR)
                  .setEffortToFixDescription("x1 effort to fix")
                  .setTags("tag1");
          x1Rule
              .createParam("acceptWhitespace")
              .setType(RuleParamType.BOOLEAN)
              .setDefaultValue("false")
              .setDescription("Accept whitespaces on the line");
          x1Rule
              .setDebtSubCharacteristic(SubCharacteristics.INTEGRATION_TESTABILITY)
              .setDebtRemediationFunction(
                  x1Rule.debtRemediationFunctions().linearWithOffset("1h", "30min"));
        }

        // X1 having fields updated to simulate an update from the plugin
        if (includeX1bis) {
          NewRule x1Rule =
              repository
                  .createRule(RuleTesting.XOO_X1.rule())
                  .setName("x1 name updated")
                  .setHtmlDescription("x1 desc updated")
                  .setSeverity(Severity.INFO)
                  .setEffortToFixDescription("x1 effort to fix updated")
                  .setTags("tag1", "tag2", "user-tag");
          x1Rule
              .createParam("acceptWhitespace")
              .setType(RuleParamType.BOOLEAN)
              .setDefaultValue("true")
              .setDescription("Accept whitespaces on the line updated");
          // New param
          x1Rule
              .createParam("format")
              .setType(RuleParamType.TEXT)
              .setDefaultValue("txt")
              .setDescription("Format");
          x1Rule
              .setDebtSubCharacteristic(SubCharacteristics.INSTRUCTION_RELIABILITY)
              .setDebtRemediationFunction(x1Rule.debtRemediationFunctions().linear("2h"));
        }

        if (includeX2) {
          repository
              .createRule(RuleTesting.XOO_X2.rule())
              .setName("x2 name")
              .setHtmlDescription("x2 desc")
              .setSeverity(Severity.MAJOR);
        }

        if (includeRuleLinkedToRootCharacteristic) {
          NewRule x1Rule =
              repository
                  .createRule("RuleLinkedToRootCharacteristic")
                  .setName("RuleLinkedToRootCharacteristic name")
                  .setHtmlDescription("RuleLinkedToRootCharacteristic desc")
                  .setSeverity(Severity.MINOR);
          x1Rule
              // Link to a root characteristic -> fail
              .setDebtSubCharacteristic("REUSABILITY")
              .setDebtRemediationFunction(
                  x1Rule.debtRemediationFunctions().linearWithOffset("1h", "30min"));
        }

        if (includeTemplate1) {
          repository
              .createRule("template1")
              .setName("template1 name")
              .setHtmlDescription("template1 desc")
              .setSeverity(Severity.MAJOR)
              .setTemplate(true)
              .createParam("format")
              .setDefaultValue("csv")
              .setType(RuleParamType.STRING)
              .setDescription("format parameter");
        }

        repository.done();
      }
    }