diff options
author | simonbrandhof <simon.brandhof@gmail.com> | 2011-11-11 15:20:42 +0100 |
---|---|---|
committer | simonbrandhof <simon.brandhof@gmail.com> | 2011-11-11 15:21:22 +0100 |
commit | a28fe51af8c5eeeb22f0ed2e734534f691b7f801 (patch) | |
tree | 3fda567ee093dae28f290d8adb57053edda6e81c /plugins | |
parent | fdcfd70b54b4ed3a97ae0f6ca5d4ac2aa7ebeb7e (diff) | |
download | sonarqube-a28fe51af8c5eeeb22f0ed2e734534f691b7f801.tar.gz sonarqube-a28fe51af8c5eeeb22f0ed2e734534f691b7f801.zip |
Fix loading of file exclusions - do not cache exclusions in Project
Diffstat (limited to 'plugins')
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); |