@Override public RulesProfile importProfile(Reader reader, ValidationMessages messages) { messages.addWarningText("a warning"); messages.addInfoText("an info"); return RulesProfile.create(); } }
@CheckForNull private static RuleDebt createRuleDebt(RuleKey ruleKey, String function, @Nullable String coefficient, @Nullable String offset, ValidationMessages validationMessages) { if ("constant_resource".equals(function)) { validationMessages.addWarningText(String.format("Constant/file function is no longer used, technical debt definitions on '%s' are ignored.", ruleKey)); return null; } if ("linear_threshold".equals(function) && coefficient != null) { validationMessages.addWarningText(String.format("Linear with threshold function is no longer used, remediation function of '%s' is replaced by linear.", ruleKey)); return createRuleDebt(ruleKey, LINEAR.name(), coefficient, null, validationMessages); } if (CONSTANT_ISSUE.name().equalsIgnoreCase(function) && coefficient != null && offset == null) { return createRuleDebt(ruleKey, CONSTANT_ISSUE.name(), null, coefficient, validationMessages); } return new RuleDebt().setRuleKey(ruleKey).setFunction(function.toUpperCase()).setCoefficient(coefficient).setOffset(offset); }
messages.addWarningText("Rule not found: " + ruleToString(repositoryKey, key)); for (Map.Entry<String, String> entry : parameters.entrySet()) { if (rule.getParam(entry.getKey()) == null) { messages.addWarningText("The parameter '" + entry.getKey() + "' does not exist in the rule: " + ruleToString(repositoryKey, key)); } else { activeRule.setParameter(entry.getKey(), entry.getValue());
@Override public RulesProfile importProfile(Reader reader, ValidationMessages messages) { messages.addWarningText("a warning"); messages.addInfoText("an info"); return RulesProfile.create(); } }
private void addRule(Class aClass, BelongsToProfile annotation, RulesProfile profile, String repositoryKey, ValidationMessages messages) { if ((annotation != null) && StringUtils.equals(annotation.title(), profile.getName())) { String ruleKey = RuleAnnotationUtils.getRuleKey(aClass); Rule rule = ruleFinder.findByKey(repositoryKey, ruleKey); if (rule == null) { messages.addWarningText("Rule not found: [repository=" + repositoryKey + ", key=" + ruleKey + "]"); } else { RulePriority priority = null; if (annotation.priority() != null) { priority = RulePriority.fromCheckPriority(annotation.priority()); } profile.activateRule(rule, priority); } } } }
private void defineRule(RulesProfile profile, ValidationMessages validation, String repositoryKey, String ruleKey) { Rule rule = ruleFinder.findByKey(repositoryKey, ruleKey); if (rule == null) { LOG.error("Rule not found: [repository=" + repositoryKey + ", key=" + ruleKey + "]"); validation.addWarningText("Rule not found: [repository=" + repositoryKey + ", key=" + ruleKey + "]"); } else { profile.activateRule(rule, null); } } }
@Override public RulesProfile importProfile(Reader reader, ValidationMessages messages) { messages.addWarningText("a warning"); messages.addInfoText("an info"); return RulesProfile.create(); } }
@Override public RulesProfile importProfile(Reader reader, ValidationMessages messages) { messages.addWarningText("a warning"); messages.addInfoText("an info"); return RulesProfile.create(); } }
@CheckForNull private static RuleDebt createRuleDebt(RuleKey ruleKey, String function, @Nullable String coefficient, @Nullable String offset, ValidationMessages validationMessages) { if ("constant_resource".equals(function)) { validationMessages.addWarningText(String.format("Constant/file function is no longer used, technical debt definitions on '%s' are ignored.", ruleKey)); return null; } if ("linear_threshold".equals(function) && coefficient != null) { validationMessages.addWarningText(String.format("Linear with threshold function is no longer used, remediation function of '%s' is replaced by linear.", ruleKey)); return createRuleDebt(ruleKey, LINEAR.name(), coefficient, null, validationMessages); } if (CONSTANT_ISSUE.name().equalsIgnoreCase(function) && coefficient != null && offset == null) { return createRuleDebt(ruleKey, CONSTANT_ISSUE.name(), null, coefficient, validationMessages); } return new RuleDebt().setRuleKey(ruleKey).setFunction(function.toUpperCase()).setCoefficient(coefficient).setOffset(offset); }
private void addRule(Class<?> ruleClass, RulesProfile profile, String repositoryKey, ValidationMessages messages) { if (AnnotationUtils.getAnnotation(ruleClass, ActivatedByDefault.class) != null) { org.sonar.check.Rule ruleAnnotation = AnnotationUtils.getAnnotation(ruleClass, org.sonar.check.Rule.class); if (ruleAnnotation == null) { messages.addWarningText("Class " + ruleClass + " has no Rule annotation"); return; } String ruleKey = ruleAnnotation.key(); Rule rule = ruleFinder.findByKey(repositoryKey, ruleKey); if (rule == null) { messages.addWarningText("Rule not found: [repository=" + repositoryKey + ", key=" + ruleKey + "]"); } else { profile.activateRule(rule, null); } } }
private void processModule(RulesProfile profile, String path, String moduleName, Map<String, String> properties, ValidationMessages messages) { if (isFilter(moduleName)) { messages.addWarningText("Checkstyle filters are not imported: " + moduleName); } else if (!isIgnored(moduleName)) { processRule(profile, path, moduleName, properties, messages); } }
private void activateRulesByCategory(RulesProfile profile, FindBugsFilter filter, ValidationMessages messages) { for (Map.Entry<String, String> categoryLevel : filter.getCategoryLevels(new FindbugsLevelUtils()).entrySet()) { boolean someRulesHaveBeenActivated = false; String sonarCateg = FindbugsCategory.findbugsToSonar(categoryLevel.getKey()); for (Rule rule : rules()) { if (sonarCateg != null && rule.getName().startsWith(sonarCateg)) { someRulesHaveBeenActivated = true; profile.activateRule(rule, getPriorityFromSeverity(categoryLevel.getValue())); } } if (!someRulesHaveBeenActivated) { messages.addWarningText("Unable to find any rules associated to category : '" + categoryLevel.getKey() + "'"); } } }
private void processModule(RulesProfile profile, String path, String moduleName, Map<String, String> properties, ValidationMessages messages) throws XMLStreamException { if (isFilter(moduleName)) { messages.addWarningText("Checkstyle filters are not imported: " + moduleName); } else if (!isIgnored(moduleName)) { processRule(profile, path, moduleName, properties, messages); } }
private void activateRulesByCode(RulesProfile profile, FindBugsFilter filter, ValidationMessages messages) { for (Map.Entry<String, String> codeLevel : filter.getCodeLevels(new FindbugsLevelUtils()).entrySet()) { boolean someRulesHaveBeenActivated = false; for (Rule rule : rules()) { if (rule.getKey().equals(codeLevel.getKey()) || StringUtils.startsWith(rule.getKey(), codeLevel.getKey() + "_")) { someRulesHaveBeenActivated = true; profile.activateRule(rule, getPriorityFromSeverity(codeLevel.getValue())); } } if (!someRulesHaveBeenActivated) { messages.addWarningText("Unable to find any rules associated to code : '" + codeLevel.getKey() + "'"); } } }
private void processModule(RulesProfile profile, String path, SMInputCursor moduleCursor, ValidationMessages messages) throws XMLStreamException { String moduleName = moduleCursor.getAttrValue("name"); if (isFilter(moduleName)) { messages.addWarningText("Checkstyle filters are not imported: " + moduleName); } else if (!isIgnored(moduleName)) { processRule(profile, path, moduleName, moduleCursor, messages); } }
private void addRule(Class aClass, BelongsToProfile annotation, RulesProfile profile, String repositoryKey, ValidationMessages messages) { if ((annotation != null) && StringUtils.equals(annotation.title(), profile.getName())) { String ruleKey = RuleAnnotationUtils.getRuleKey(aClass); Rule rule = ruleFinder.findByKey(repositoryKey, ruleKey); if (rule == null) { messages.addWarningText("Rule not found: [repository=" + repositoryKey + ", key=" + ruleKey + "]"); } else { RulePriority priority = null; if (annotation.priority() != null) { priority = RulePriority.fromCheckPriority(annotation.priority()); } profile.activateRule(rule, priority); } } } }
private void setParameters(ActiveRule activeRule, PmdRule pmdRule, Rule rule, ValidationMessages messages) { for (PmdProperty prop : pmdRule.getProperties()) { String paramName = prop.getName(); if (rule.getParam(paramName) == null) { messages.addWarningText("The property '" + paramName + "' is not supported in the pmd rule: " + pmdRule.getRef()); } else { activeRule.setParameter(paramName, prop.getValue()); } } }
private static void setParameters(ActiveRule activeRule, PmdRule pmdRule, Rule rule, ValidationMessages messages) { for (PmdProperty prop : pmdRule.getProperties()) { String paramName = prop.getName(); if (rule.getParam(paramName) == null) { messages.addWarningText("The property '" + paramName + "' is not supported in the pmd rule: " + pmdRule.getRef()); } else { activeRule.setParameter(paramName, prop.getValue()); } } }
private void processRule(RulesProfile profile, String path, String moduleName, SMInputCursor moduleCursor, ValidationMessages messages) throws XMLStreamException { Map<String, String> properties = processProps(moduleCursor); Rule rule; String id = properties.get("id"); String warning; if (StringUtils.isNotBlank(id)) { rule = ruleFinder.find(RuleQuery.create().withRepositoryKey(CheckstyleConstants.REPOSITORY_KEY).withKey(id)); warning = "Checkstyle rule with key '" + id + "' not found"; } else { String configKey = path + moduleName; rule = ruleFinder.find(RuleQuery.create().withRepositoryKey(CheckstyleConstants.REPOSITORY_KEY).withConfigKey(configKey)); warning = "Checkstyle rule with config key '" + configKey + "' not found"; } if (rule == null) { messages.addWarningText(warning); } else { ActiveRule activeRule = profile.activateRule(rule, null); activateProperties(activeRule, properties); } }
private void addRule(Class aClass, BelongsToProfile annotation, RulesProfile profile, String repositoryKey, ValidationMessages messages) { if ((annotation != null) && StringUtils.equals(annotation.title(), profile.getName())) { String ruleKey = RuleAnnotationUtils.getRuleKey(aClass); Rule rule = ruleFinder.findByKey(repositoryKey, ruleKey); if (rule == null) { messages.addWarningText("Rule not found: [repository=" + repositoryKey + ", key=" + ruleKey + "]"); } else { RulePriority priority = null; if (annotation.priority() != null) { priority = RulePriority.fromCheckPriority(annotation.priority()); } profile.activateRule(rule, priority); } } } }