diff options
author | Julien HENRY <julien.henry@sonarsource.com> | 2014-02-13 12:12:14 +0100 |
---|---|---|
committer | Julien HENRY <julien.henry@sonarsource.com> | 2014-02-13 15:29:14 +0100 |
commit | e894e5443bc9cc452a0e00914db2afadb8a25fce (patch) | |
tree | 5a43d8364c573732308d245a05d29267710112be | |
parent | 282e80ded109c70910d94f5a12decdf40697a4a7 (diff) | |
download | sonarqube-e894e5443bc9cc452a0e00914db2afadb8a25fce.tar.gz sonarqube-e894e5443bc9cc452a0e00914db2afadb8a25fce.zip |
Fix some quality flaws
8 files changed, 30 insertions, 22 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 6512f6fc8fa..9f6bb9d1f67 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 @@ -92,6 +92,9 @@ public class SonarBridgeEngine extends CpdEngine { } CpdMapping mapping = getMapping(languageKey); + if (mapping == null) { + return; + } // Create index SonarDuplicationsIndex index = indexFactory.create(project); 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 ded2cfed686..576af394edb 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 @@ -26,7 +26,14 @@ import org.slf4j.LoggerFactory; import org.sonar.api.BatchComponent; import org.sonar.api.database.DatabaseSession; import org.sonar.api.database.model.ResourceModel; -import org.sonar.api.resources.*; +import org.sonar.api.resources.Directory; +import org.sonar.api.resources.File; +import org.sonar.api.resources.Java; +import org.sonar.api.resources.JavaFile; +import org.sonar.api.resources.Project; +import org.sonar.api.resources.Qualifiers; +import org.sonar.api.resources.Resource; +import org.sonar.api.resources.Scopes; import org.sonar.api.scan.filesystem.InputFile; import org.sonar.api.scan.filesystem.internal.DefaultInputFile; import org.sonar.api.utils.PathUtils; @@ -119,9 +126,9 @@ public class ResourceKeyMigration implements BatchComponent { } resourceModel.setKey(newEffectiveKey); resourceModel.setDeprecatedKey(oldEffectiveKey); - logger.info("Migrated resource " + oldEffectiveKey + " to " + newEffectiveKey); + logger.info("Migrated resource {} to {}", oldEffectiveKey, newEffectiveKey); } else { - logger.warn("Unable to migrate resource " + oldEffectiveKey + ". No match was found."); + logger.warn("Unable to migrate resource {}. No match was found.", oldEffectiveKey); } } } @@ -148,9 +155,9 @@ public class ResourceKeyMigration implements BatchComponent { String newEffectiveKey = deprecatedDirectoryKeyMapper.get(oldEffectiveKey); resourceModel.setKey(newEffectiveKey); resourceModel.setDeprecatedKey(oldEffectiveKey); - logger.info("Migrated resource " + oldEffectiveKey + " to " + newEffectiveKey); + logger.info("Migrated resource {} to {}", oldEffectiveKey, newEffectiveKey); } else { - logger.warn("Unable to migrate resource " + oldEffectiveKey); + logger.warn("Unable to migrate resource {}. No match was found.", oldEffectiveKey); } } } 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 d6911d66f33..f8e374e52b8 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 @@ -38,7 +38,6 @@ import org.sonar.api.scan.filesystem.internal.DefaultInputFile; import org.sonar.api.utils.SonarException; import org.sonar.batch.index.ResourceKeyMigration; import org.sonar.batch.scan.language.DefaultModuleLanguages; -import org.sonar.core.resource.ResourceDao; /** * Index all files/directories of the module in SQ database and importing source code. @@ -52,18 +51,16 @@ public class ComponentIndexer implements BatchComponent { private final ResourceKeyMigration migration; private final Project module; private final DefaultModuleLanguages moduleLanguages; - private final ResourceDao resourceDao; private InputFileCache fileCache; public ComponentIndexer(Project module, Languages languages, SonarIndex sonarIndex, Settings settings, ResourceKeyMigration migration, - DefaultModuleLanguages moduleLanguages, ResourceDao resourceDao, InputFileCache fileCache) { + DefaultModuleLanguages moduleLanguages, InputFileCache fileCache) { this.module = module; this.languages = languages; this.sonarIndex = sonarIndex; this.settings = settings; this.migration = migration; this.moduleLanguages = moduleLanguages; - this.resourceDao = resourceDao; this.fileCache = fileCache; } diff --git a/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/FileIndex.java b/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/FileIndex.java index 226f84a198d..080b3a4e2e9 100644 --- a/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/FileIndex.java +++ b/sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/FileIndex.java @@ -43,6 +43,8 @@ import java.util.Set; */ public class FileIndex implements BatchComponent { + private static final String FILE_S_IS_NOT_DECLARED_IN_MODULE_BASEDIR_S = "File '%s' is not declared in module basedir %s"; + private static class Progress { private final Set<String> removedPaths; private final Set<String> indexed; @@ -122,7 +124,7 @@ public class FileIndex implements BatchComponent { String path = pathResolver.relativePath(fileSystem.baseDir(), sourceFile); if (path == null) { LoggerFactory.getLogger(getClass()).warn(String.format( - "File '%s' is not declared in module basedir %s", sourceFile.getAbsoluteFile(), fileSystem.baseDir() + FILE_S_IS_NOT_DECLARED_IN_MODULE_BASEDIR_S, sourceFile.getAbsoluteFile(), fileSystem.baseDir() )); } else { if (exclusionFilters.accept(sourceFile, path, type)) { @@ -147,7 +149,7 @@ public class FileIndex implements BatchComponent { String path = pathResolver.relativePath(fileSystem.baseDir(), sourceFile); if (path == null) { LoggerFactory.getLogger(getClass()).warn(String.format( - "File '%s' is not declared in module basedir %s", sourceFile.getAbsoluteFile(), fileSystem.baseDir() + FILE_S_IS_NOT_DECLARED_IN_MODULE_BASEDIR_S, sourceFile.getAbsoluteFile(), fileSystem.baseDir() )); } else { if (exclusionFilters.accept(sourceFile, path, InputFile.TYPE_MAIN)) { 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 de2dc83f85c..30f6b5c6fb6 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 @@ -182,11 +182,11 @@ public class ProjectFileSystemAdapter implements ProjectFileSystem { if (file == null || !file.exists()) { return null; } - PathResolver.RelativePath relativePath = pathResolver.relativePath(getSourceDirs(), file); + String relativePath = pathResolver.relativePath(getBasedir(), file); if (relativePath == null) { return null; } - return file.isFile() ? new org.sonar.api.resources.File(relativePath.path()) : new org.sonar.api.resources.Directory(relativePath.path()); + return file.isFile() ? org.sonar.api.resources.File.create(relativePath) : org.sonar.api.resources.Directory.create(relativePath); } public List<InputFile> mainFiles(String... langs) { diff --git a/sonar-batch/src/test/java/org/sonar/batch/scan/filesystem/ComponentIndexerTest.java b/sonar-batch/src/test/java/org/sonar/batch/scan/filesystem/ComponentIndexerTest.java index c45ac2b2a8e..3bd5f2dbbdc 100644 --- a/sonar-batch/src/test/java/org/sonar/batch/scan/filesystem/ComponentIndexerTest.java +++ b/sonar-batch/src/test/java/org/sonar/batch/scan/filesystem/ComponentIndexerTest.java @@ -43,7 +43,6 @@ import org.sonar.api.scan.filesystem.internal.DefaultInputFile; import org.sonar.api.scan.filesystem.internal.InputFileBuilder; import org.sonar.batch.index.ResourceKeyMigration; import org.sonar.batch.scan.language.DefaultModuleLanguages; -import org.sonar.core.resource.ResourceDao; import java.io.File; import java.io.IOException; @@ -97,7 +96,7 @@ public class ComponentIndexerTest { newInputFile("src/test/java/foo/bar/FooTest.java", "", "foo/bar/FooTest.java", "java", true))); Languages languages = new Languages(Java.INSTANCE); ComponentIndexer indexer = new ComponentIndexer(project, languages, sonarIndex, settings, mock(ResourceKeyMigration.class), new DefaultModuleLanguages(settings, languages), - mock(ResourceDao.class), mock(InputFileCache.class)); + mock(InputFileCache.class)); indexer.execute(fs); verify(sonarIndex).index(org.sonar.api.resources.File.create("src/main/java/foo/bar/Foo.java", "foo/bar/Foo.java", Java.INSTANCE, false)); @@ -122,7 +121,7 @@ public class ComponentIndexerTest { Languages languages = new Languages(cobolLanguage); ComponentIndexer indexer = new ComponentIndexer(project, languages, sonarIndex, settings, mock(ResourceKeyMigration.class), new DefaultModuleLanguages(settings, languages), - mock(ResourceDao.class), mock(InputFileCache.class)); + mock(InputFileCache.class)); indexer.execute(fs); verify(sonarIndex).index(org.sonar.api.resources.File.create("/src/foo/bar/Foo.cbl", "foo/bar/Foo.cbl", cobolLanguage, false)); @@ -138,7 +137,7 @@ public class ComponentIndexerTest { newInputFile("src/main/java/foo/bar/Foo.java", "sample code", "foo/bar/Foo.java", "java", false))); Languages languages = new Languages(Java.INSTANCE); ComponentIndexer indexer = new ComponentIndexer(project, languages, sonarIndex, settings, mock(ResourceKeyMigration.class), new DefaultModuleLanguages(settings, languages), - mock(ResourceDao.class), mock(InputFileCache.class)); + mock(InputFileCache.class)); indexer.execute(fs); Resource sonarFile = org.sonar.api.resources.File.create("src/main/java/foo/bar/Foo.java", "foo/bar/Foo.java", Java.INSTANCE, false); @@ -180,7 +179,7 @@ public class ComponentIndexerTest { .build())); Languages languages = new Languages(Java.INSTANCE); ComponentIndexer indexer = new ComponentIndexer(project, languages, sonarIndex, settings, mock(ResourceKeyMigration.class), new DefaultModuleLanguages(settings, languages), - mock(ResourceDao.class), mock(InputFileCache.class)); + mock(InputFileCache.class)); indexer.execute(fs); Resource sonarFile = org.sonar.api.resources.File.create("src/main/java/foo/bar/Foo.java", "foo/bar/Foo.java", Java.INSTANCE, false); @@ -208,7 +207,7 @@ public class ComponentIndexerTest { .build())); Languages languages = new Languages(Java.INSTANCE); ComponentIndexer indexer = new ComponentIndexer(project, languages, sonarIndex, settings, mock(ResourceKeyMigration.class), new DefaultModuleLanguages(settings, languages), - mock(ResourceDao.class), mock(InputFileCache.class)); + mock(InputFileCache.class)); indexer.execute(fs); Resource sonarFile = org.sonar.api.resources.File.create("/src/main/java/foo/bar/Foo.java", "foo/bar/Foo.java", Java.INSTANCE, false); @@ -231,7 +230,7 @@ public class ComponentIndexerTest { when(fs.inputFiles(FileQuery.all())).thenReturn((Iterable) Arrays.asList(inputFile3lines, inputFileEmpty, inputFileEndsWithNewLine, inputFileMixedLineEnds)); Languages languages = new Languages(Java.INSTANCE); ComponentIndexer indexer = new ComponentIndexer(project, languages, sonarIndex, settings, mock(ResourceKeyMigration.class), new DefaultModuleLanguages(settings, languages), - mock(ResourceDao.class), mock(InputFileCache.class)); + mock(InputFileCache.class)); indexer.execute(fs); assertThat(inputFile3lines.attribute(InputFile.ATTRIBUTE_LINE_COUNT)).isEqualTo("3"); diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/resources/Directory.java b/sonar-plugin-api/src/main/java/org/sonar/api/resources/Directory.java index d9c2eb06d61..53a27f858bf 100644 --- a/sonar-plugin-api/src/main/java/org/sonar/api/resources/Directory.java +++ b/sonar-plugin-api/src/main/java/org/sonar/api/resources/Directory.java @@ -131,7 +131,7 @@ public class Directory extends Resource { * {@link SensorContext#saveMeasure(Resource, org.sonar.api.measures.Measure)} when resources are already indexed. * Internal use only. */ - static Directory create(String relativePathFromBaseDir) { + public static Directory create(String relativePathFromBaseDir) { Directory d = new Directory(); String normalizedPath = normalize(relativePathFromBaseDir); d.setKey(normalizedPath); diff --git a/sonar-plugin-api/src/main/java/org/sonar/api/resources/Project.java b/sonar-plugin-api/src/main/java/org/sonar/api/resources/Project.java index bb752c16980..b19a32bcf7f 100644 --- a/sonar-plugin-api/src/main/java/org/sonar/api/resources/Project.java +++ b/sonar-plugin-api/src/main/java/org/sonar/api/resources/Project.java @@ -46,7 +46,7 @@ public class Project extends Resource implements Component { public static final Language NONE_LANGUAGE = new AbstractLanguage("none", "None") { @Override public String[] getFileSuffixes() { - return null; + return new String[0]; } }; |