summaryrefslogtreecommitdiffstats
path: root/plugins
diff options
context:
space:
mode:
authorsimonbrandhof <simon.brandhof@gmail.com>2011-11-11 15:20:42 +0100
committersimonbrandhof <simon.brandhof@gmail.com>2011-11-11 15:21:22 +0100
commita28fe51af8c5eeeb22f0ed2e734534f691b7f801 (patch)
tree3fda567ee093dae28f290d8adb57053edda6e81c /plugins
parentfdcfd70b54b4ed3a97ae0f6ca5d4ac2aa7ebeb7e (diff)
downloadsonarqube-a28fe51af8c5eeeb22f0ed2e734534f691b7f801.tar.gz
sonarqube-a28fe51af8c5eeeb22f0ed2e734534f691b7f801.zip
Fix loading of file exclusions - do not cache exclusions in Project
Diffstat (limited to 'plugins')
-rw-r--r--plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/batch/ExcludedResourceFilter.java15
-rw-r--r--plugins/sonar-core-plugin/src/test/java/org/sonar/plugins/core/batch/ExcludedResourceFilterTest.java13
2 files changed, 14 insertions, 14 deletions
diff --git a/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/batch/ExcludedResourceFilter.java b/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/batch/ExcludedResourceFilter.java
index f7bc914d5fe..4326b2169df 100644
--- a/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/batch/ExcludedResourceFilter.java
+++ b/plugins/sonar-core-plugin/src/main/java/org/sonar/plugins/core/batch/ExcludedResourceFilter.java
@@ -19,9 +19,8 @@
*/
package org.sonar.plugins.core.batch;
-import org.apache.commons.configuration.Configuration;
-import org.sonar.api.CoreProperties;
import org.sonar.api.batch.ResourceFilter;
+import org.sonar.api.resources.Project;
import org.sonar.api.resources.Resource;
import org.sonar.api.resources.ResourceUtils;
@@ -30,10 +29,10 @@ import org.sonar.api.resources.ResourceUtils;
*/
public class ExcludedResourceFilter implements ResourceFilter {
- private Configuration conf;
+ private Project project;
- public ExcludedResourceFilter(Configuration conf) {
- this.conf = conf;
+ public ExcludedResourceFilter(Project project) {
+ this.project = project;
}
public boolean isIgnored(Resource resource) {
@@ -42,7 +41,7 @@ public class ExcludedResourceFilter implements ResourceFilter {
return false;
}
- String[] patterns = getExclusionPatterns();
+ String[] patterns = project.getExclusionPatterns();
if (patterns != null) {
for (String pattern : patterns) {
if (resource.matchFilePattern(pattern)) {
@@ -52,8 +51,4 @@ public class ExcludedResourceFilter implements ResourceFilter {
}
return false;
}
-
- String[] getExclusionPatterns() {
- return conf.getStringArray(CoreProperties.PROJECT_EXCLUSIONS_PROPERTY);
- }
} \ No newline at end of file
diff --git a/plugins/sonar-core-plugin/src/test/java/org/sonar/plugins/core/batch/ExcludedResourceFilterTest.java b/plugins/sonar-core-plugin/src/test/java/org/sonar/plugins/core/batch/ExcludedResourceFilterTest.java
index dbbe8fd9e13..952b32c7641 100644
--- a/plugins/sonar-core-plugin/src/test/java/org/sonar/plugins/core/batch/ExcludedResourceFilterTest.java
+++ b/plugins/sonar-core-plugin/src/test/java/org/sonar/plugins/core/batch/ExcludedResourceFilterTest.java
@@ -22,6 +22,7 @@ package org.sonar.plugins.core.batch;
import org.apache.commons.configuration.PropertiesConfiguration;
import org.junit.Test;
import org.sonar.api.CoreProperties;
+import org.sonar.api.resources.Project;
import org.sonar.api.resources.Qualifiers;
import org.sonar.api.resources.Resource;
@@ -35,7 +36,8 @@ public class ExcludedResourceFilterTest {
@Test
public void doNotFailIfNoPatterns() {
PropertiesConfiguration conf = new PropertiesConfiguration();
- ExcludedResourceFilter filter = new ExcludedResourceFilter(conf);
+ Project project = new Project("foo").setConfiguration(conf);
+ ExcludedResourceFilter filter = new ExcludedResourceFilter(project);
assertThat(filter.isIgnored(mock(Resource.class)), is(false));
}
@@ -43,7 +45,8 @@ public class ExcludedResourceFilterTest {
public void noPatternsMatch() {
PropertiesConfiguration conf = new PropertiesConfiguration();
conf.setProperty(CoreProperties.PROJECT_EXCLUSIONS_PROPERTY, new String[]{"**/foo/*.java", "**/bar/*"});
- ExcludedResourceFilter filter = new ExcludedResourceFilter(conf);
+ Project project = new Project("foo").setConfiguration(conf);
+ ExcludedResourceFilter filter = new ExcludedResourceFilter(project);
assertThat(filter.isIgnored(mock(Resource.class)), is(false));
}
@@ -54,7 +57,8 @@ public class ExcludedResourceFilterTest {
public void ignoreResourceIfMatchesPattern() {
PropertiesConfiguration conf = new PropertiesConfiguration();
conf.setProperty(CoreProperties.PROJECT_EXCLUSIONS_PROPERTY, new String[]{"**/foo/*.java", "**/bar/*"});
- ExcludedResourceFilter filter = new ExcludedResourceFilter(conf);
+ Project project = new Project("foo").setConfiguration(conf);
+ ExcludedResourceFilter filter = new ExcludedResourceFilter(project);
Resource resource = mock(Resource.class);
when(resource.matchFilePattern("**/bar/*")).thenReturn(true);
@@ -66,7 +70,8 @@ public class ExcludedResourceFilterTest {
public void doNotExcludeUnitTestFiles() {
PropertiesConfiguration conf = new PropertiesConfiguration();
conf.setProperty(CoreProperties.PROJECT_EXCLUSIONS_PROPERTY, new String[]{"**/foo/*.java", "**/bar/*"});
- ExcludedResourceFilter filter = new ExcludedResourceFilter(conf);
+ Project project = new Project("foo").setConfiguration(conf);
+ ExcludedResourceFilter filter = new ExcludedResourceFilter(project);
Resource unitTest = mock(Resource.class);
when(unitTest.getQualifier()).thenReturn(Qualifiers.UNIT_TEST_FILE);