]> source.dussan.org Git - sonarqube.git/blob
513295957092698b68d7870f595ad7a858f571e3
[sonarqube.git] /
1 package com.mycompany.sonar.checkstyle;
2
3 import org.apache.commons.io.IOUtils;
4 import org.sonar.api.resources.Java;
5 import org.sonar.api.rules.Rule;
6 import org.sonar.api.rules.RuleRepository;
7 import org.sonar.api.rules.XMLRuleParser;
8
9 import java.io.InputStream;
10 import java.util.List;
11
12 public class CheckstyleExtensionRepository extends RuleRepository {
13
14   // Must be the same than the Checkstyle plugin
15   private static final String REPOSITORY_KEY = "checkstyle";
16   private XMLRuleParser ruleParser;
17
18   public CheckstyleExtensionRepository(XMLRuleParser ruleParser) {
19     super(REPOSITORY_KEY, Java.KEY);
20     this.ruleParser = ruleParser;
21   }
22
23   @Override
24   public List<Rule> createRules() {
25     // In this example, new rules are declared in a XML file
26     InputStream input = getClass().getResourceAsStream("/com/mycompany/sonar/checkstyle/extensions.xml");
27     try {
28       return ruleParser.parse(input);
29       
30     } finally {
31       IOUtils.closeQuietly(input);
32     }
33   }
34
35 }