From 401e7576f86447d13457de9884a9fe7a8761c5eb Mon Sep 17 00:00:00 2001 From: Fabrice Bellingard Date: Tue, 26 Jun 2012 10:39:36 +0200 Subject: [PATCH] SONAR-3496, SONAR-3497 & SONAR-3498 Fix bug on Sonar Common Rules --- .../java/JavaCommonRulesEngineProvider.java | 10 ++---- .../JavaCommonRulesEngineProviderTest.java | 34 +++++++++++++++++++ .../java/org/sonar/api/resources/Java.java | 7 +++- 3 files changed, 42 insertions(+), 9 deletions(-) create mode 100644 plugins/sonar-java-plugin/src/test/java/org/sonar/plugins/java/JavaCommonRulesEngineProviderTest.java diff --git a/plugins/sonar-java-plugin/src/main/java/org/sonar/plugins/java/JavaCommonRulesEngineProvider.java b/plugins/sonar-java-plugin/src/main/java/org/sonar/plugins/java/JavaCommonRulesEngineProvider.java index 021510d812b..4759a573ba1 100644 --- a/plugins/sonar-java-plugin/src/main/java/org/sonar/plugins/java/JavaCommonRulesEngineProvider.java +++ b/plugins/sonar-java-plugin/src/main/java/org/sonar/plugins/java/JavaCommonRulesEngineProvider.java @@ -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 index 00000000000..a82d1debfd0 --- /dev/null +++ b/plugins/sonar-java-plugin/src/test/java/org/sonar/plugins/java/JavaCommonRulesEngineProviderTest.java @@ -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); + } + +} diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/resources/Java.java b/sonar-plugin-api/src/main/java/org/sonar/api/resources/Java.java index dbc09d3fa39..d9b2f99ebf8 100644 --- a/sonar-plugin-api/src/main/java/org/sonar/api/resources/Java.java +++ b/sonar-plugin-api/src/main/java/org/sonar/api/resources/Java.java @@ -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); } /** -- 2.39.5