From c0474cb799f83a309a933cc34a69288ee1744732 Mon Sep 17 00:00:00 2001 From: Simon Brandhof Date: Tue, 25 Feb 2014 11:04:33 +0100 Subject: [PATCH] SONAR-926 do not index files twice --- .../batch/index/ResourceKeyMigration.java | 40 +++++++++---------- .../filesystem/DefaultModuleFileSystem.java | 2 +- 2 files changed, 21 insertions(+), 21 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 b581c2ad8fe..334b9c1f98c 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 @@ -62,32 +62,32 @@ public class ResourceKeyMigration implements BatchComponent { } public void migrateIfNeeded(Project module, FileSystem fs) { - migrateIfNeeded(module, fs.inputFiles(FilePredicates.all())); + if (migrationNeeded) { + migrateIfNeeded(module, fs.inputFiles(FilePredicates.all())); + } } void migrateIfNeeded(Project module, Iterable inputFiles) { - if (migrationNeeded) { - logger.info("Update component keys"); - Map deprecatedFileKeyMapper = new HashMap(); - Map deprecatedTestKeyMapper = new HashMap(); - Map deprecatedDirectoryKeyMapper = new HashMap(); - for (InputFile inputFile : inputFiles) { - String deprecatedKey = ((DefaultInputFile) inputFile).deprecatedKey(); - if (deprecatedKey != null) { - if (InputFile.Type.TEST == inputFile.type() && !deprecatedTestKeyMapper.containsKey(deprecatedKey)) { - deprecatedTestKeyMapper.put(deprecatedKey, inputFile); - } else if (InputFile.Type.MAIN == inputFile.type() && !deprecatedFileKeyMapper.containsKey(deprecatedKey)) { - deprecatedFileKeyMapper.put(deprecatedKey, inputFile); - } + logger.info("Update component keys"); + Map deprecatedFileKeyMapper = new HashMap(); + Map deprecatedTestKeyMapper = new HashMap(); + Map deprecatedDirectoryKeyMapper = new HashMap(); + for (InputFile inputFile : inputFiles) { + String deprecatedKey = ((DefaultInputFile) inputFile).deprecatedKey(); + if (deprecatedKey != null) { + if (InputFile.Type.TEST == inputFile.type() && !deprecatedTestKeyMapper.containsKey(deprecatedKey)) { + deprecatedTestKeyMapper.put(deprecatedKey, inputFile); + } else if (InputFile.Type.MAIN == inputFile.type() && !deprecatedFileKeyMapper.containsKey(deprecatedKey)) { + deprecatedFileKeyMapper.put(deprecatedKey, inputFile); } } - - ResourceModel moduleModel = session.getSingleResult(ResourceModel.class, "key", module.getEffectiveKey()); - int moduleId = moduleModel.getId(); - migrateFiles(module, deprecatedFileKeyMapper, deprecatedTestKeyMapper, deprecatedDirectoryKeyMapper, moduleId); - migrateDirectories(deprecatedDirectoryKeyMapper, moduleId); - session.commit(); } + + ResourceModel moduleModel = session.getSingleResult(ResourceModel.class, "key", module.getEffectiveKey()); + int moduleId = moduleModel.getId(); + migrateFiles(module, deprecatedFileKeyMapper, deprecatedTestKeyMapper, deprecatedDirectoryKeyMapper, moduleId); + migrateDirectories(deprecatedDirectoryKeyMapper, moduleId); + session.commit(); } private void migrateFiles(Project module, Map deprecatedFileKeyMapper, Map deprecatedTestKeyMapper, 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 bba59b6e247..d3ef6c52cf6 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 @@ -215,9 +215,9 @@ public class DefaultModuleFileSystem extends DefaultFileSystem implements Module if (initialized) { throw new SonarException("Module filesystem can only be indexed once"); } + initialized = true; indexer.index(this); componentIndexer.execute(this); - initialized = true; } private List existingDirs(List dirs) { -- 2.39.5