Skip to content

Commit 99d5e76

Browse files
committed
Update schema for 1.2.0 version
1 parent 749f1b0 commit 99d5e76

File tree

6 files changed

+25
-22
lines changed

6 files changed

+25
-22
lines changed

src/sonar-sql-plugin/src/main/java/org/sonar/plugins/sql/adhoc/AdhocRulesProvider.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,8 @@ public static SqlRules read(final File file) throws Exception {
186186
Node parent = list.item(i);
187187
org.sonar.plugins.sql.models.rules.Rule rule = new Rule();
188188
rule.setKey(XmlHelper.getNodeValue(parent, "key"));
189-
rule.setRuleAppliesTo(XmlHelper.readAttribute(parent, "ruleAppliesTo", "code"));
189+
rule.setRuleAppliesTo(XmlHelper.getNodeValue(parent, "ruleAppliesTo", "code"));
190+
rule.setRuleReportsOn(XmlHelper.getNodeValue(parent, "ruleReportsOn", "line"));
190191
rule.setName(XmlHelper.getNodeValue(parent, "name"));
191192
rule.setInternalKey(XmlHelper.getNodeValue(parent, "internalKey"));
192193
rule.setDescription(XmlHelper.getNodeValue(parent, "description"));

src/sonar-sql-plugin/src/main/java/org/sonar/plugins/sql/sensors/XmlHelper.java

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,16 @@ public static final String getNodeValue(Node parent, String name) {
4242
}
4343
return null;
4444
}
45-
45+
public static final String getNodeValue(Node parent, String name, String defaultValue) {
46+
NodeList children = parent.getChildNodes();
47+
for (int i = 0; i < children.getLength(); i++) {
48+
Node child = children.item(i);
49+
if (name.equalsIgnoreCase(child.getNodeName())) {
50+
return child.getTextContent();
51+
}
52+
}
53+
return defaultValue;
54+
}
4655
public static final <T> T getNodeValue2(Node parent, String name, Function<String, T> func, T defaultValue) {
4756
NodeList children = parent.getChildNodes();
4857
for (int i = 0; i < children.getLength(); i++) {

src/sonar-sql-plugin/src/main/resources/schemas/customRules.xsd

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,8 +146,11 @@
146146
<xs:element name="tag" type="xs:string"/>
147147
<xs:element name="source" type="xs:string"/>
148148
<xs:element name="rule">
149+
149150
<xs:complexType>
151+
150152
<xs:sequence>
153+
151154
<xs:element ref="key"/>
152155
<xs:element ref="name"/>
153156
<xs:element ref="internalKey"/>
@@ -163,6 +166,9 @@
163166
<xs:element ref="ruleImplementation"/>
164167
<xs:element ref="source"/>
165168
<xs:element ref="ruleType"/>
169+
<xs:element name="ruleAppliesTo" type="xs:string"/>
170+
<xs:element name="ruleReportsOn" type="xs:string"/>
171+
166172
</xs:sequence>
167173
</xs:complexType>
168174
</xs:element>

src/sonar-sql-plugin/src/test/java/org/sonar/plugins/sql/adhoc/AdhocRulesProviderTest.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,8 @@ public void testRuleDetailsAreParsedProperlyToDefaults() throws Exception {
4545
Assert.assertEquals("code", rule.getRuleAppliesTo());
4646
Assert.assertEquals("design", rule.getTag());
4747
Assert.assertNotNull(rule.getRuleImplementation());
48+
Assert.assertEquals("line", rule.getRuleReportsOn());
49+
4850

4951
}
5052
@Test
@@ -62,6 +64,8 @@ public void testRuleDetailsAreParsedProperly() throws Exception {
6264
Assert.assertNotNull(rule.getDescription());
6365
Assert.assertEquals(null, rule.getDescriptionFormat());
6466
Assert.assertEquals("IC002", rule.getInternalKey());
67+
Assert.assertEquals("file", rule.getRuleReportsOn());
68+
6569
Assert.assertEquals("C002", rule.getKey());
6670
Assert.assertEquals("test", rule.getName());
6771
Assert.assertEquals("BUG", rule.getRuleType());

src/sonar-sql-plugin/src/test/java/org/sonar/plugins/sql/issues/IssuesMapTest.java

Lines changed: 0 additions & 19 deletions
This file was deleted.

src/sonar-sql-plugin/src/test/resources/external/rule3.customRules

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
22
<sql-rules repoName="demo" repoKey="demoKey" isAdhoc="false">
33

4-
<rule ruleAppliesTo="comments">
4+
<rule ruleAppliesTo="comments" ruleReportsOn="file">
55
<key>C002</key>
66
<name>test</name>
77
<internalKey>IC002</internalKey>
@@ -11,6 +11,8 @@
1111
<debtRemediationFunctionCoefficient>2min</debtRemediationFunctionCoefficient>
1212
<tag>design</tag>
1313
<ruleType>BUG</ruleType>
14+
<ruleAppliesTo>comments</ruleAppliesTo>
15+
<ruleReportsOn>file</ruleReportsOn>
1416
<ruleImplementation>
1517
<names>
1618
<textItem>Select_list_elemContext</textItem>

0 commit comments

Comments
 (0)