]> source.dussan.org Git - sonarqube.git/commitdiff
Fix quality flaws
authorJean-Baptiste Lievremont <jean-baptiste.lievremont@sonarsource.com>
Wed, 9 Oct 2013 12:13:26 +0000 (14:13 +0200)
committerJean-Baptiste Lievremont <jean-baptiste.lievremont@sonarsource.com>
Wed, 9 Oct 2013 12:13:42 +0000 (14:13 +0200)
plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/issue/ignore/package-info.java [new file with mode: 0644]
plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/issue/ignore/pattern/AbstractPatternInitializer.java
plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/issue/ignore/pattern/ExclusionPatternInitializer.java
plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/issue/ignore/pattern/package-info.java [new file with mode: 0644]
plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/issue/ignore/scanner/package-info.java [new file with mode: 0644]
plugins/sonar-core-plugin/src/test/java/org/sonar/plugins/core/issue/ignore/pattern/ExclusionPatternInitializerTest.java

diff --git a/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/issue/ignore/package-info.java b/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/issue/ignore/package-info.java
new file mode 100644 (file)
index 0000000..bdadd24
--- /dev/null
@@ -0,0 +1,23 @@
+/*
+ * SonarQube, open source software quality management tool.
+ * Copyright (C) 2008-2013 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * SonarQube 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.
+ *
+ * SonarQube 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 this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+@ParametersAreNonnullByDefault
+package org.sonar.plugins.core.issue.ignore;
+
+import javax.annotation.ParametersAreNonnullByDefault;
index 95a6815f28ec1efa1dd469018a5ff373102308fb..f8d23186c0e661066afd820407b5eadeda243484 100644 (file)
@@ -61,12 +61,6 @@ public abstract class AbstractPatternInitializer implements BatchExtension {
 
   @VisibleForTesting
   protected final void initPatterns() {
-    loadPatternsFromNewProperties();
-  }
-
-  protected abstract String getMulticriteriaConfigurationKey();
-
-  protected void loadPatternsFromNewProperties() {
     // Patterns Multicriteria
     multicriteriaPatterns = Lists.newArrayList();
     String patternConf = StringUtils.defaultIfBlank(settings.getString(getMulticriteriaConfigurationKey()), "");
@@ -82,4 +76,6 @@ public abstract class AbstractPatternInitializer implements BatchExtension {
       multicriteriaPatterns.add(pattern);
     }
   }
+
+  protected abstract String getMulticriteriaConfigurationKey();
 }
index c19352b32b72ed3496aad9aafe902cb8b1729696..a20e8c33ba7f3752fe3fb4f8785c30b26fe24cf4 100644 (file)
@@ -20,6 +20,7 @@
 
 package org.sonar.plugins.core.issue.ignore.pattern;
 
+import com.google.common.annotations.VisibleForTesting;
 import com.google.common.collect.Lists;
 import org.apache.commons.lang.StringUtils;
 import org.sonar.api.config.Settings;
@@ -38,6 +39,7 @@ public class ExclusionPatternInitializer extends AbstractPatternInitializer {
   public ExclusionPatternInitializer(Settings settings) {
     super(settings);
     patternMatcher = new PatternMatcher();
+    loadFileContentPatterns();
   }
 
   @Override
@@ -63,10 +65,8 @@ public class ExclusionPatternInitializer extends AbstractPatternInitializer {
     return hasFileContentPattern() || hasMulticriteriaPatterns();
   }
 
-  @Override
-  protected void loadPatternsFromNewProperties() {
-    super.loadPatternsFromNewProperties();
-
+  @VisibleForTesting
+  protected final void loadFileContentPatterns() {
     // Patterns Block
     blockPatterns = Lists.newArrayList();
     String patternConf = StringUtils.defaultIfBlank(getSettings().getString(IgnoreIssuesConfiguration.PATTERNS_BLOCK_KEY), "");
diff --git a/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/issue/ignore/pattern/package-info.java b/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/issue/ignore/pattern/package-info.java
new file mode 100644 (file)
index 0000000..55174cc
--- /dev/null
@@ -0,0 +1,23 @@
+/*
+ * SonarQube, open source software quality management tool.
+ * Copyright (C) 2008-2013 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * SonarQube 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.
+ *
+ * SonarQube 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 this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+@ParametersAreNonnullByDefault
+package org.sonar.plugins.core.issue.ignore.pattern;
+
+import javax.annotation.ParametersAreNonnullByDefault;
diff --git a/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/issue/ignore/scanner/package-info.java b/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/issue/ignore/scanner/package-info.java
new file mode 100644 (file)
index 0000000..9471f4d
--- /dev/null
@@ -0,0 +1,23 @@
+/*
+ * SonarQube, open source software quality management tool.
+ * Copyright (C) 2008-2013 SonarSource
+ * mailto:contact AT sonarsource DOT com
+ *
+ * SonarQube 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.
+ *
+ * SonarQube 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 this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+@ParametersAreNonnullByDefault
+package org.sonar.plugins.core.issue.ignore.scanner;
+
+import javax.annotation.ParametersAreNonnullByDefault;
index 6d667d07898c7978edc58d7cd01be00b09666e74..0f9b6493e8ae667c644e183fc5668b06e61b2947 100644 (file)
@@ -99,7 +99,7 @@ public class ExclusionPatternInitializerTest {
     settings.setProperty(IgnoreIssuesConfiguration.PATTERNS_BLOCK_KEY + ".2." + IgnoreIssuesConfiguration.END_BLOCK_REGEXP, "// FOO-ON");
     settings.setProperty(IgnoreIssuesConfiguration.PATTERNS_BLOCK_KEY + ".3." + IgnoreIssuesConfiguration.BEGIN_BLOCK_REGEXP, "// IGNORE-TO-EOF");
     settings.setProperty(IgnoreIssuesConfiguration.PATTERNS_BLOCK_KEY + ".3." + IgnoreIssuesConfiguration.END_BLOCK_REGEXP, "");
-    patternsInitializer.initPatterns();
+    patternsInitializer.loadFileContentPatterns();
 
     assertThat(patternsInitializer.hasConfiguredPatterns()).isTrue();
     assertThat(patternsInitializer.hasFileContentPattern()).isTrue();
@@ -114,7 +114,7 @@ public class ExclusionPatternInitializerTest {
     settings.setProperty(IgnoreIssuesConfiguration.PATTERNS_BLOCK_KEY, "1");
     settings.setProperty(IgnoreIssuesConfiguration.PATTERNS_BLOCK_KEY + ".1." + IgnoreIssuesConfiguration.BEGIN_BLOCK_REGEXP, "");
     settings.setProperty(IgnoreIssuesConfiguration.PATTERNS_BLOCK_KEY + ".1." + IgnoreIssuesConfiguration.END_BLOCK_REGEXP, "// SONAR-ON");
-    patternsInitializer.initPatterns();
+    patternsInitializer.loadFileContentPatterns();
   }
 
   @Test
@@ -122,7 +122,7 @@ public class ExclusionPatternInitializerTest {
     settings.setProperty(IgnoreIssuesConfiguration.PATTERNS_ALLFILE_KEY, "1,2");
     settings.setProperty(IgnoreIssuesConfiguration.PATTERNS_ALLFILE_KEY + ".1." + IgnoreIssuesConfiguration.FILE_REGEXP, "@SONAR-IGNORE-ALL");
     settings.setProperty(IgnoreIssuesConfiguration.PATTERNS_ALLFILE_KEY + ".2." + IgnoreIssuesConfiguration.FILE_REGEXP, "//FOO-IGNORE-ALL");
-    patternsInitializer.initPatterns();
+    patternsInitializer.loadFileContentPatterns();
 
     assertThat(patternsInitializer.hasConfiguredPatterns()).isTrue();
     assertThat(patternsInitializer.hasFileContentPattern()).isTrue();
@@ -136,6 +136,6 @@ public class ExclusionPatternInitializerTest {
   public void shouldLogInvalidAllFilePattern() {
     settings.setProperty(IgnoreIssuesConfiguration.PATTERNS_ALLFILE_KEY, "1");
     settings.setProperty(IgnoreIssuesConfiguration.PATTERNS_ALLFILE_KEY + ".1." + IgnoreIssuesConfiguration.FILE_REGEXP, "");
-    patternsInitializer.initPatterns();
+    patternsInitializer.loadFileContentPatterns();
   }
 }