]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-3496, SONAR-3497 & SONAR-3498 Fix bug on Sonar Common Rules
authorFabrice Bellingard <bellingard@gmail.com>
Tue, 26 Jun 2012 08:39:36 +0000 (10:39 +0200)
committerFabrice Bellingard <bellingard@gmail.com>
Tue, 26 Jun 2012 08:39:36 +0000 (10:39 +0200)
plugins/sonar-java-plugin/src/main/java/org/sonar/plugins/java/JavaCommonRulesEngineProvider.java
plugins/sonar-java-plugin/src/test/java/org/sonar/plugins/java/JavaCommonRulesEngineProviderTest.java [new file with mode: 0644]
sonar-plugin-api/src/main/java/org/sonar/api/resources/Java.java

index 021510d812b80835006c9ac75f4ff9d6ebee9d61..4759a573ba111aa803a058d1fe9bf539b2660c85 100644 (file)
@@ -22,22 +22,16 @@ package org.sonar.plugins.java;
 import org.sonar.api.BatchExtension;
 import org.sonar.api.ExtensionProvider;
 import org.sonar.api.ServerExtension;
-import org.sonar.api.resources.Language;
+import org.sonar.api.resources.Java;
 import org.sonar.commonrules.api.CommonRulesEngine;
 
 import java.util.List;
 
 public class JavaCommonRulesEngineProvider extends ExtensionProvider implements ServerExtension, BatchExtension {
 
-  private Language language;
-
-  public JavaCommonRulesEngineProvider(Language language) {
-    this.language = language;
-  }
-
   @Override
   public List provide() {
-    CommonRulesEngine engine = new CommonRulesEngine(language);
+    CommonRulesEngine engine = new CommonRulesEngine(Java.KEY, Java.NAME);
     engine.activateRule("InsufficientBranchCoverage");
     engine.activateRule("InsufficientCommentDensity");
     engine.activateRule("DuplicatedBlocks");
diff --git a/plugins/sonar-java-plugin/src/test/java/org/sonar/plugins/java/JavaCommonRulesEngineProviderTest.java b/plugins/sonar-java-plugin/src/test/java/org/sonar/plugins/java/JavaCommonRulesEngineProviderTest.java
new file mode 100644 (file)
index 0000000..a82d1de
--- /dev/null
@@ -0,0 +1,34 @@
+/*
+ * Sonar, open source software quality management tool.
+ * Copyright (C) 2008-2012 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * Sonar is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * Sonar is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with Sonar; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02
+ */
+package org.sonar.plugins.java;
+
+import org.junit.Test;
+
+import static org.fest.assertions.Assertions.assertThat;
+
+public class JavaCommonRulesEngineProviderTest {
+
+  @Test
+  public void shouldProvideExpectedExtensions() {
+    JavaCommonRulesEngineProvider provider = new JavaCommonRulesEngineProvider();
+    assertThat(provider.provide().size()).isGreaterThan(1);
+  }
+
+}
index dbc09d3fa393a66d3d5153f7107cc9264d3954a0..d9b2f99ebf880e2774f9d1fed918311bacf9f21e 100644 (file)
@@ -35,6 +35,11 @@ public class Java extends AbstractLanguage {
    * Java key
    */
   public static final String KEY = "java";
+
+  /**
+   * Java name
+   */
+  public static final String NAME = "Java";
   /**
    * Default package name for classes without package def
    */
@@ -48,7 +53,7 @@ public class Java extends AbstractLanguage {
    * Default constructor
    */
   public Java() {
-    super(KEY, "Java");
+    super(KEY, NAME);
   }
 
   /**