diff options
author | Simon Brandhof <simon.brandhof@gmail.com> | 2014-03-14 11:12:39 +0100 |
---|---|---|
committer | Simon Brandhof <simon.brandhof@gmail.com> | 2014-03-14 12:44:02 +0100 |
commit | 4149bcb700a85338effe3d9efe94354467af7207 (patch) | |
tree | 68d5fd67aa6b383217577a7b89e04550f36040fb /sonar-batch | |
parent | af03cde80a12ac335c3be04c24f5d099b2e84013 (diff) | |
download | sonarqube-4149bcb700a85338effe3d9efe94354467af7207.tar.gz sonarqube-4149bcb700a85338effe3d9efe94354467af7207.zip |
SONAR-4790 replace static factory FilePredicates by FileSystem#predicates()
Conflicts:
sonar-plugin-api/src/test/java/org/sonar/api/batch/fs/FilePredicatesTest.java
Diffstat (limited to 'sonar-batch')
7 files changed, 58 insertions, 49 deletions
diff --git a/sonar-batch/src/main/java/org/sonar/batch/index/ResourceKeyMigration.java b/sonar-batch/src/main/java/org/sonar/batch/index/ResourceKeyMigration.java index 7c59d4f310f..3647287bb3e 100644 --- a/sonar-batch/src/main/java/org/sonar/batch/index/ResourceKeyMigration.java +++ b/sonar-batch/src/main/java/org/sonar/batch/index/ResourceKeyMigration.java @@ -63,7 +63,7 @@ public class ResourceKeyMigration implements BatchComponent { public void migrateIfNeeded(Project module, FileSystem fs) { if (migrationNeeded) { - migrateIfNeeded(module, fs.inputFiles(FilePredicates.all())); + migrateIfNeeded(module, fs.inputFiles(fs.predicates().all())); } } diff --git a/sonar-batch/src/main/java/org/sonar/batch/issue/ignore/scanner/IssueExclusionsLoader.java b/sonar-batch/src/main/java/org/sonar/batch/issue/ignore/scanner/IssueExclusionsLoader.java index 17731fdb553..1dad68550bb 100644 --- a/sonar-batch/src/main/java/org/sonar/batch/issue/ignore/scanner/IssueExclusionsLoader.java +++ b/sonar-batch/src/main/java/org/sonar/batch/issue/ignore/scanner/IssueExclusionsLoader.java @@ -20,7 +20,6 @@ package org.sonar.batch.issue.ignore.scanner; -import org.sonar.api.batch.fs.FilePredicates; import org.sonar.api.batch.fs.FileSystem; import org.sonar.api.batch.fs.InputFile; import org.sonar.api.batch.fs.internal.DefaultInputFile; @@ -58,7 +57,7 @@ public final class IssueExclusionsLoader { public void execute() { Charset sourcesEncoding = fileSystem.encoding(); - for (InputFile inputFile : fileSystem.inputFiles(FilePredicates.all())) { + for (InputFile inputFile : fileSystem.inputFiles(fileSystem.predicates().all())) { try { String componentEffectiveKey = ((DefaultInputFile) inputFile).key(); if (componentEffectiveKey != null) { diff --git a/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/ComponentIndexer.java b/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/ComponentIndexer.java index 2acf6ce31f9..8d31f3b5a39 100644 --- a/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/ComponentIndexer.java +++ b/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/ComponentIndexer.java @@ -25,17 +25,21 @@ import com.google.common.io.Files; import org.sonar.api.BatchComponent; import org.sonar.api.CoreProperties; import org.sonar.api.batch.SonarIndex; -import org.sonar.api.batch.fs.FilePredicates; import org.sonar.api.batch.fs.FileSystem; import org.sonar.api.batch.fs.InputFile; import org.sonar.api.batch.fs.internal.DefaultInputFile; import org.sonar.api.config.Settings; -import org.sonar.api.resources.*; +import org.sonar.api.resources.File; +import org.sonar.api.resources.JavaFile; +import org.sonar.api.resources.Languages; +import org.sonar.api.resources.Project; +import org.sonar.api.resources.Resource; import org.sonar.api.utils.SonarException; import org.sonar.batch.index.ResourceKeyMigration; /** * Index all files/directories of the module in SQ database and importing source code. + * * @since 4.2 */ public class ComponentIndexer implements BatchComponent { @@ -61,7 +65,7 @@ public class ComponentIndexer implements BatchComponent { migration.migrateIfNeeded(module, fs); boolean shouldImportSource = settings.getBoolean(CoreProperties.CORE_IMPORT_SOURCES_PROPERTY); - for (InputFile inputFile : fs.inputFiles(FilePredicates.all())) { + for (InputFile inputFile : fs.inputFiles(fs.predicates().all())) { String languageKey = inputFile.language(); boolean unitTest = InputFile.Type.TEST == inputFile.type(); String pathFromSourceDir = ((DefaultInputFile) inputFile).pathRelativeToSourceDir(); diff --git a/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/DefaultModuleFileSystem.java b/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/DefaultModuleFileSystem.java index 56c812ae8f3..1ffaa77bf29 100644 --- a/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/DefaultModuleFileSystem.java +++ b/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/DefaultModuleFileSystem.java @@ -28,7 +28,6 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.sonar.api.CoreProperties; import org.sonar.api.batch.fs.FilePredicate; -import org.sonar.api.batch.fs.FilePredicates; import org.sonar.api.batch.fs.internal.DefaultFileSystem; import org.sonar.api.config.Settings; import org.sonar.api.resources.Project; @@ -38,7 +37,6 @@ import org.sonar.api.utils.SonarException; import javax.annotation.CheckForNull; import javax.annotation.Nullable; - import java.io.File; import java.nio.charset.Charset; import java.util.Arrays; @@ -69,7 +67,7 @@ public class DefaultModuleFileSystem extends DefaultFileSystem implements Module private boolean initialized; public DefaultModuleFileSystem(ModuleInputFileCache moduleInputFileCache, Project module, Settings settings, FileIndexer indexer, ModuleFileSystemInitializer initializer, - ComponentIndexer componentIndexer) { + ComponentIndexer componentIndexer) { super(moduleInputFileCache); this.componentIndexer = componentIndexer; this.moduleKey = module.getKey(); @@ -147,6 +145,7 @@ public class DefaultModuleFileSystem extends DefaultFileSystem implements Module /** * Should not be used - only for old plugins + * * @deprecated since 4.0 */ @Deprecated @@ -156,6 +155,7 @@ public class DefaultModuleFileSystem extends DefaultFileSystem implements Module /** * Should not be used - only for old plugins + * * @deprecated since 4.0 */ @Deprecated @@ -189,7 +189,7 @@ public class DefaultModuleFileSystem extends DefaultFileSystem implements Module for (Map.Entry<String, Collection<String>> entry : query.attributes().entrySet()) { predicates.add(fromDeprecatedAttribute(entry.getKey(), entry.getValue())); } - return ImmutableList.copyOf(files(FilePredicates.and(predicates))); + return ImmutableList.copyOf(files(predicates().and(predicates))); } @Override @@ -230,60 +230,60 @@ public class DefaultModuleFileSystem extends DefaultFileSystem implements Module return builder.build(); } - static FilePredicate fromDeprecatedAttribute(String key, Collection<String> value) { + private FilePredicate fromDeprecatedAttribute(String key, Collection<String> value) { if ("TYPE".equals(key)) { - return FilePredicates.or(Collections2.transform(value, new Function<String, FilePredicate>() { + return predicates().or(Collections2.transform(value, new Function<String, FilePredicate>() { @Override public FilePredicate apply(@Nullable String s) { - return s == null ? FilePredicates.all() : FilePredicates.hasType(org.sonar.api.batch.fs.InputFile.Type.valueOf(s)); + return s == null ? predicates().all() : predicates().hasType(org.sonar.api.batch.fs.InputFile.Type.valueOf(s)); } })); } if ("STATUS".equals(key)) { - return FilePredicates.or(Collections2.transform(value, new Function<String, FilePredicate>() { + return predicates().or(Collections2.transform(value, new Function<String, FilePredicate>() { @Override public FilePredicate apply(@Nullable String s) { - return s == null ? FilePredicates.all() : FilePredicates.hasStatus(org.sonar.api.batch.fs.InputFile.Status.valueOf(s)); + return s == null ? predicates().all() : predicates().hasStatus(org.sonar.api.batch.fs.InputFile.Status.valueOf(s)); } })); } if ("LANG".equals(key)) { - return FilePredicates.or(Collections2.transform(value, new Function<String, FilePredicate>() { + return predicates().or(Collections2.transform(value, new Function<String, FilePredicate>() { @Override public FilePredicate apply(@Nullable String s) { - return s == null ? FilePredicates.all() : FilePredicates.hasLanguage(s); + return s == null ? predicates().all() : predicates().hasLanguage(s); } })); } if ("CMP_KEY".equals(key)) { - return FilePredicates.or(Collections2.transform(value, new Function<String, FilePredicate>() { + return predicates().or(Collections2.transform(value, new Function<String, FilePredicate>() { @Override public FilePredicate apply(@Nullable String s) { - return s == null ? FilePredicates.all() : new AdditionalFilePredicates.KeyPredicate(s); + return s == null ? predicates().all() : new AdditionalFilePredicates.KeyPredicate(s); } })); } if ("CMP_DEPRECATED_KEY".equals(key)) { - return FilePredicates.or(Collections2.transform(value, new Function<String, FilePredicate>() { + return predicates().or(Collections2.transform(value, new Function<String, FilePredicate>() { @Override public FilePredicate apply(@Nullable String s) { - return s == null ? FilePredicates.all() : new AdditionalFilePredicates.DeprecatedKeyPredicate(s); + return s == null ? predicates().all() : new AdditionalFilePredicates.DeprecatedKeyPredicate(s); } })); } if ("SRC_REL_PATH".equals(key)) { - return FilePredicates.or(Collections2.transform(value, new Function<String, FilePredicate>() { + return predicates().or(Collections2.transform(value, new Function<String, FilePredicate>() { @Override public FilePredicate apply(@Nullable String s) { - return s == null ? FilePredicates.all() : new AdditionalFilePredicates.SourceRelativePathPredicate(s); + return s == null ? predicates().all() : new AdditionalFilePredicates.SourceRelativePathPredicate(s); } })); } if ("SRC_DIR_PATH".equals(key)) { - return FilePredicates.or(Collections2.transform(value, new Function<String, FilePredicate>() { + return predicates().or(Collections2.transform(value, new Function<String, FilePredicate>() { @Override public FilePredicate apply(@Nullable String s) { - return s == null ? FilePredicates.all() : new AdditionalFilePredicates.SourceDirPredicate(s); + return s == null ? predicates().all() : new AdditionalFilePredicates.SourceDirPredicate(s); } })); } diff --git a/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/ModuleInputFileCache.java b/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/ModuleInputFileCache.java index a4c5776070f..4a909f29cf4 100644 --- a/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/ModuleInputFileCache.java +++ b/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/ModuleInputFileCache.java @@ -21,7 +21,7 @@ package org.sonar.batch.scan.filesystem; import org.sonar.api.BatchComponent; import org.sonar.api.batch.fs.InputFile; -import org.sonar.api.batch.fs.UniqueIndexPredicate; +import org.sonar.api.batch.fs.internal.UniqueIndexPredicate; import org.sonar.api.batch.fs.internal.DefaultFileSystem; import org.sonar.api.resources.Project; diff --git a/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/ProjectFileSystemAdapter.java b/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/ProjectFileSystemAdapter.java index f606206df25..c42c1d75fac 100644 --- a/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/ProjectFileSystemAdapter.java +++ b/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/ProjectFileSystemAdapter.java @@ -21,13 +21,16 @@ package org.sonar.batch.scan.filesystem; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; -import java.util.Arrays; import org.apache.commons.io.FileUtils; import org.apache.commons.lang.CharEncoding; import org.apache.maven.project.MavenProject; import org.sonar.api.batch.fs.FilePredicate; -import org.sonar.api.batch.fs.FilePredicates; -import org.sonar.api.resources.*; +import org.sonar.api.resources.InputFile; +import org.sonar.api.resources.Java; +import org.sonar.api.resources.Language; +import org.sonar.api.resources.Project; +import org.sonar.api.resources.ProjectFileSystem; +import org.sonar.api.resources.Resource; import org.sonar.api.scan.filesystem.PathResolver; import org.sonar.api.utils.SonarException; @@ -35,6 +38,7 @@ import javax.annotation.Nullable; import java.io.File; import java.io.IOException; import java.nio.charset.Charset; +import java.util.Arrays; import java.util.List; /** @@ -135,8 +139,8 @@ public class ProjectFileSystemAdapter implements ProjectFileSystem { } public List<File> getSourceFiles(Language... langs) { - return Lists.newArrayList(target.files(FilePredicates.and( - FilePredicates.hasType(org.sonar.api.batch.fs.InputFile.Type.MAIN), + return Lists.newArrayList(target.files(target.predicates().and( + target.predicates().hasType(org.sonar.api.batch.fs.InputFile.Type.MAIN), newHasLanguagesPredicate(langs)))); } @@ -149,15 +153,15 @@ public class ProjectFileSystemAdapter implements ProjectFileSystem { } public List<File> getTestFiles(Language... langs) { - return Lists.newArrayList(target.files(FilePredicates.and( - FilePredicates.hasType(org.sonar.api.batch.fs.InputFile.Type.TEST), + return Lists.newArrayList(target.files(target.predicates().and( + target.predicates().hasType(org.sonar.api.batch.fs.InputFile.Type.TEST), newHasLanguagesPredicate(langs)))); } public boolean hasTestFiles(Language lang) { - return target.hasFiles(FilePredicates.and( - FilePredicates.hasType(org.sonar.api.batch.fs.InputFile.Type.TEST), - FilePredicates.hasLanguage(lang.getKey()))); + return target.hasFiles(target.predicates().and( + target.predicates().hasType(org.sonar.api.batch.fs.InputFile.Type.TEST), + target.predicates().hasLanguage(lang.getKey()))); } public File writeToWorkingDirectory(String content, String fileName) throws IOException { @@ -183,25 +187,25 @@ public class ProjectFileSystemAdapter implements ProjectFileSystem { } public List<InputFile> mainFiles(String... langs) { - return Lists.newArrayList((Iterable) target.inputFiles(FilePredicates.and( - FilePredicates.hasType(org.sonar.api.batch.fs.InputFile.Type.MAIN), - FilePredicates.hasLanguages(Arrays.asList(langs)) + return Lists.newArrayList((Iterable) target.inputFiles(target.predicates().and( + target.predicates().hasType(org.sonar.api.batch.fs.InputFile.Type.MAIN), + target.predicates().hasLanguages(Arrays.asList(langs)) ))); } public List<InputFile> testFiles(String... langs) { - return Lists.newArrayList((Iterable) target.inputFiles(FilePredicates.and( - FilePredicates.hasType(org.sonar.api.batch.fs.InputFile.Type.TEST), - FilePredicates.hasLanguages(Arrays.asList(langs)) + return Lists.newArrayList((Iterable) target.inputFiles(target.predicates().and( + target.predicates().hasType(org.sonar.api.batch.fs.InputFile.Type.TEST), + target.predicates().hasLanguages(Arrays.asList(langs)) ))); } - private static FilePredicate newHasLanguagesPredicate(Language... languages) { + private FilePredicate newHasLanguagesPredicate(Language... languages) { List<FilePredicate> list = Lists.newArrayList(); for (Language language : languages) { - list.add(FilePredicates.hasLanguage(language.getKey())); + list.add(target.predicates().hasLanguage(language.getKey())); } - return FilePredicates.or(list); + return target.predicates().or(list); } } diff --git a/sonar-batch/src/test/java/org/sonar/batch/scan/filesystem/DefaultModuleFileSystemTest.java b/sonar-batch/src/test/java/org/sonar/batch/scan/filesystem/DefaultModuleFileSystemTest.java index 4c477cdc6f1..594a777095d 100644 --- a/sonar-batch/src/test/java/org/sonar/batch/scan/filesystem/DefaultModuleFileSystemTest.java +++ b/sonar-batch/src/test/java/org/sonar/batch/scan/filesystem/DefaultModuleFileSystemTest.java @@ -26,7 +26,6 @@ import org.junit.rules.ExpectedException; import org.junit.rules.TemporaryFolder; import org.mockito.Mockito; import org.sonar.api.CoreProperties; -import org.sonar.api.batch.fs.FilePredicates; import org.sonar.api.batch.fs.InputFile; import org.sonar.api.batch.fs.internal.DefaultInputFile; import org.sonar.api.config.Settings; @@ -38,7 +37,10 @@ import java.nio.charset.Charset; import java.util.Arrays; import static org.fest.assertions.Assertions.assertThat; -import static org.mockito.Mockito.*; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.verifyZeroInteractions; +import static org.mockito.Mockito.when; public class DefaultModuleFileSystemTest { @@ -163,10 +165,10 @@ public class DefaultModuleFileSystemTest { when(moduleInputFileCache.inputFiles()).thenReturn(Lists.newArrayList(mainInput, testInput)); fs.index(); - Iterable<InputFile> inputFiles = fs.inputFiles(FilePredicates.hasType(InputFile.Type.MAIN)); + Iterable<InputFile> inputFiles = fs.inputFiles(fs.predicates().hasType(InputFile.Type.MAIN)); assertThat(inputFiles).containsOnly(mainInput); - Iterable<File> files = fs.files(FilePredicates.hasType(InputFile.Type.MAIN)); + Iterable<File> files = fs.files(fs.predicates().hasType(InputFile.Type.MAIN)); assertThat(files).containsOnly(mainFile); } |