aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-batch
diff options
context:
space:
mode:
authorSimon Brandhof <simon.brandhof@gmail.com>2014-03-14 11:12:39 +0100
committerSimon Brandhof <simon.brandhof@gmail.com>2014-03-14 12:44:02 +0100
commit4149bcb700a85338effe3d9efe94354467af7207 (patch)
tree68d5fd67aa6b383217577a7b89e04550f36040fb /sonar-batch
parentaf03cde80a12ac335c3be04c24f5d099b2e84013 (diff)
downloadsonarqube-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')
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/index/ResourceKeyMigration.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/issue/ignore/scanner/IssueExclusionsLoader.java3
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/ComponentIndexer.java10
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/DefaultModuleFileSystem.java38
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/ModuleInputFileCache.java2
-rw-r--r--sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/ProjectFileSystemAdapter.java42
-rw-r--r--sonar-batch/src/test/java/org/sonar/batch/scan/filesystem/DefaultModuleFileSystemTest.java10
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);
}