diff options
author | Simon Brandhof <simon.brandhof@gmail.com> | 2014-02-20 11:50:41 +0100 |
---|---|---|
committer | Simon Brandhof <simon.brandhof@gmail.com> | 2014-02-20 11:50:50 +0100 |
commit | 05e28d46dc4437b74a1baa7a710cddd0453aa9b5 (patch) | |
tree | 0df146a65f6428426e7e83b2b983abca1fcff060 /plugins/sonar-cpd-plugin | |
parent | 40df046f0c54e77eb3e40d5e9dd5791337a5db89 (diff) | |
download | sonarqube-05e28d46dc4437b74a1baa7a710cddd0453aa9b5.tar.gz sonarqube-05e28d46dc4437b74a1baa7a710cddd0453aa9b5.zip |
SONAR-926 fix support of CPD without exclusion patterns
Diffstat (limited to 'plugins/sonar-cpd-plugin')
-rw-r--r-- | plugins/sonar-cpd-plugin/src/main/java/org/sonar/plugins/cpd/SonarBridgeEngine.java | 7 | ||||
-rw-r--r-- | plugins/sonar-cpd-plugin/src/main/java/org/sonar/plugins/cpd/SonarEngine.java | 9 |
2 files changed, 9 insertions, 7 deletions
diff --git a/plugins/sonar-cpd-plugin/src/main/java/org/sonar/plugins/cpd/SonarBridgeEngine.java b/plugins/sonar-cpd-plugin/src/main/java/org/sonar/plugins/cpd/SonarBridgeEngine.java index 14b073d6711..0ff44946650 100644 --- a/plugins/sonar-cpd-plugin/src/main/java/org/sonar/plugins/cpd/SonarBridgeEngine.java +++ b/plugins/sonar-cpd-plugin/src/main/java/org/sonar/plugins/cpd/SonarBridgeEngine.java @@ -22,6 +22,7 @@ package org.sonar.plugins.cpd; import com.google.common.annotations.VisibleForTesting; import com.google.common.base.Predicate; import com.google.common.collect.Iterables; +import com.google.common.collect.Lists; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.sonar.api.CoreProperties; @@ -80,12 +81,12 @@ public class SonarBridgeEngine extends CpdEngine { public void analyse(Project project, String languageKey, SensorContext context) { String[] cpdExclusions = settings.getStringArray(CoreProperties.CPD_EXCLUSIONS); logExclusions(cpdExclusions, LOG); - Iterable<InputFile> sourceFiles = fs.inputFiles(FilePredicates.and( + List<InputFile> sourceFiles = Lists.newArrayList(fs.inputFiles(FilePredicates.and( FilePredicates.hasType(InputFile.Type.MAIN), FilePredicates.hasLanguage(languageKey), FilePredicates.doesNotMatchPathPatterns(cpdExclusions) - )); - if (!sourceFiles.iterator().hasNext()) { + ))); + if (sourceFiles.isEmpty()) { return; } diff --git a/plugins/sonar-cpd-plugin/src/main/java/org/sonar/plugins/cpd/SonarEngine.java b/plugins/sonar-cpd-plugin/src/main/java/org/sonar/plugins/cpd/SonarEngine.java index 0b340ce17c4..d463d8cf314 100644 --- a/plugins/sonar-cpd-plugin/src/main/java/org/sonar/plugins/cpd/SonarEngine.java +++ b/plugins/sonar-cpd-plugin/src/main/java/org/sonar/plugins/cpd/SonarEngine.java @@ -21,6 +21,7 @@ package org.sonar.plugins.cpd; import com.google.common.collect.Iterables; +import com.google.common.collect.Lists; import org.apache.commons.io.IOUtils; import org.apache.commons.lang.StringEscapeUtils; import org.slf4j.Logger; @@ -93,12 +94,12 @@ public class SonarEngine extends CpdEngine { public void analyse(Project project, String languageKey, SensorContext context) { String[] cpdExclusions = settings.getStringArray(CoreProperties.CPD_EXCLUSIONS); logExclusions(cpdExclusions, LOG); - Iterable<InputFile> sourceFiles = fs.inputFiles(FilePredicates.and( + List<InputFile> sourceFiles = Lists.newArrayList(fs.inputFiles(FilePredicates.and( FilePredicates.hasType(InputFile.Type.MAIN), FilePredicates.hasLanguage(languageKey), FilePredicates.doesNotMatchPathPatterns(cpdExclusions) - )); - if (!sourceFiles.iterator().hasNext()) { + ))); + if (sourceFiles.isEmpty()) { return; } SonarDuplicationsIndex index = createIndex(project, sourceFiles); @@ -135,7 +136,7 @@ public class SonarEngine extends CpdEngine { return index; } - private void detect(SonarDuplicationsIndex index, SensorContext context, Iterable<InputFile> sourceFiles) { + private void detect(SonarDuplicationsIndex index, SensorContext context, List<InputFile> sourceFiles) { ExecutorService executorService = Executors.newSingleThreadExecutor(); try { for (InputFile inputFile : sourceFiles) { |