]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-926 deterministic error message in ResourceKeyMigration
authorSimon Brandhof <simon.brandhof@gmail.com>
Wed, 5 Feb 2014 14:22:05 +0000 (15:22 +0100)
committerSimon Brandhof <simon.brandhof@gmail.com>
Wed, 5 Feb 2014 14:22:50 +0000 (15:22 +0100)
sonar-batch/src/main/java/org/sonar/batch/index/ResourceKeyMigration.java
sonar-batch/src/main/java/org/sonar/batch/scan/filesystem/ComponentIndexer.java

index bb3e2a60d3a64cc7e63963802517b2672d13769d..ded2cfed6867e3cc487c6133172f3b1160515f4d 100644 (file)
@@ -31,9 +31,9 @@ import org.sonar.api.scan.filesystem.InputFile;
 import org.sonar.api.scan.filesystem.internal.DefaultInputFile;
 import org.sonar.api.utils.PathUtils;
 
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
-import java.util.TreeMap;
 
 public class ResourceKeyMigration implements BatchComponent {
 
@@ -63,9 +63,9 @@ public class ResourceKeyMigration implements BatchComponent {
   public void migrateIfNeeded(Project module, Iterable<InputFile> inputFiles) {
     if (migrationNeeded) {
       logger.info("Starting migration of resource keys");
-      Map<String, InputFile> deprecatedFileKeyMapper = new TreeMap<String, InputFile>();
-      Map<String, InputFile> deprecatedTestKeyMapper = new TreeMap<String, InputFile>();
-      Map<String, String> deprecatedDirectoryKeyMapper = new TreeMap<String, String>();
+      Map<String, InputFile> deprecatedFileKeyMapper = new HashMap<String, InputFile>();
+      Map<String, InputFile> deprecatedTestKeyMapper = new HashMap<String, InputFile>();
+      Map<String, String> deprecatedDirectoryKeyMapper = new HashMap<String, String>();
       for (InputFile inputFile : inputFiles) {
         String deprecatedKey = inputFile.attribute(DefaultInputFile.ATTRIBUTE_COMPONENT_DEPRECATED_KEY);
         if (deprecatedKey != null) {
@@ -93,7 +93,7 @@ public class ResourceKeyMigration implements BatchComponent {
       .append(ResourceModel.class.getSimpleName())
       .append(" where enabled = true ")
       .append(" and rootId = :rootId ")
-      .append(" and scope = '").append(Scopes.FILE).append("'");
+      .append(" and scope = '").append(Scopes.FILE).append("' order by key");
     List<ResourceModel> resources = session.createQuery(hql.toString()).setParameter("rootId", moduleId).getResultList();
     for (ResourceModel resourceModel : resources) {
       String oldEffectiveKey = resourceModel.getKey();
index 47bee815c489edcab37af315098337a9b8b3cd2b..380f7ca026bb6415092baa5cae7a1436c49687b7 100644 (file)
@@ -25,15 +25,9 @@ import com.google.common.io.Files;
 import org.apache.commons.lang.StringUtils;
 import org.sonar.api.BatchComponent;
 import org.sonar.api.CoreProperties;
-import org.sonar.api.batch.InstantiationStrategy;
 import org.sonar.api.batch.SonarIndex;
 import org.sonar.api.config.Settings;
-import org.sonar.api.resources.File;
-import org.sonar.api.resources.Java;
-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.resources.*;
 import org.sonar.api.scan.filesystem.FileQuery;
 import org.sonar.api.scan.filesystem.InputFile;
 import org.sonar.api.scan.filesystem.internal.DefaultInputFile;
@@ -47,7 +41,6 @@ import org.sonar.core.resource.ResourceDto;
  * Index all files/directories of the module in SQ database and importing source code.
  * @since 4.2
  */
-@InstantiationStrategy(InstantiationStrategy.PER_PROJECT)
 public class ComponentIndexer implements BatchComponent {
 
   private final Languages languages;