aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-deprecated/src/main/java
diff options
context:
space:
mode:
authorSimon Brandhof <simon.brandhof@gmail.com>2014-02-18 11:41:58 +0100
committerSimon Brandhof <simon.brandhof@gmail.com>2014-02-18 11:42:07 +0100
commitcc0ddbfb90f0d5b44cb0fa3e087f1ef1a5f813ec (patch)
tree6b553f2a746362279fa7cec9b3d1e3b7d5584ed7 /sonar-deprecated/src/main/java
parent295cd390301a169063c78b6e3f39d8bf1844517b (diff)
downloadsonarqube-cc0ddbfb90f0d5b44cb0fa3e087f1ef1a5f813ec.tar.gz
sonarqube-cc0ddbfb90f0d5b44cb0fa3e087f1ef1a5f813ec.zip
SONAR-4326 support tags in deprecated rule API
Diffstat (limited to 'sonar-deprecated/src/main/java')
-rw-r--r--sonar-deprecated/src/main/java/org/sonar/api/rules/AnnotationRuleParser.java1
-rw-r--r--sonar-deprecated/src/main/java/org/sonar/api/rules/XMLRuleParser.java6
2 files changed, 7 insertions, 0 deletions
diff --git a/sonar-deprecated/src/main/java/org/sonar/api/rules/AnnotationRuleParser.java b/sonar-deprecated/src/main/java/org/sonar/api/rules/AnnotationRuleParser.java
index f800e45c045..a5ce13160d8 100644
--- a/sonar-deprecated/src/main/java/org/sonar/api/rules/AnnotationRuleParser.java
+++ b/sonar-deprecated/src/main/java/org/sonar/api/rules/AnnotationRuleParser.java
@@ -72,6 +72,7 @@ public final class AnnotationRuleParser implements ServerComponent {
rule.setSeverity(RulePriority.fromCheckPriority(ruleAnnotation.priority()));
rule.setCardinality(ruleAnnotation.cardinality());
rule.setStatus(ruleAnnotation.status());
+ rule.setTags(ruleAnnotation.tags());
List<Field> fields = FieldUtils2.getFields(clazz, true);
for (Field field : fields) {
diff --git a/sonar-deprecated/src/main/java/org/sonar/api/rules/XMLRuleParser.java b/sonar-deprecated/src/main/java/org/sonar/api/rules/XMLRuleParser.java
index 17a60afeb74..fc2b7f7a0cb 100644
--- a/sonar-deprecated/src/main/java/org/sonar/api/rules/XMLRuleParser.java
+++ b/sonar-deprecated/src/main/java/org/sonar/api/rules/XMLRuleParser.java
@@ -21,6 +21,7 @@ package org.sonar.api.rules;
import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Strings;
+import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.io.Closeables;
import org.apache.commons.io.FileUtils;
@@ -126,6 +127,7 @@ public final class XMLRuleParser implements ServerComponent {
rule.setSeverity(RulePriority.valueOf(StringUtils.trim(priorityAttribute)));
}
+ List<String> tags = Lists.newArrayList();
SMInputCursor cursor = ruleC.childElementCursor();
while (cursor.getNext() != null) {
@@ -154,11 +156,15 @@ public final class XMLRuleParser implements ServerComponent {
} else if (StringUtils.equalsIgnoreCase("param", nodeName)) {
processParameter(rule, cursor);
+
+ } else if (StringUtils.equalsIgnoreCase("tag", nodeName)) {
+ tags.add(StringUtils.trim(cursor.collectDescendantText(false)));
}
}
if (Strings.isNullOrEmpty(rule.getKey())) {
throw new SonarException("Node <key> is missing in <rule>");
}
+ rule.setTags(tags.toArray(new String[tags.size()]));
}
private static void processParameter(Rule rule, SMInputCursor ruleC) throws XMLStreamException {