From 08f2f1c2a8f60f79b626c871782b5864581a12d8 Mon Sep 17 00:00:00 2001 From: Julien HENRY Date: Mon, 10 Feb 2014 17:41:48 +0100 Subject: [PATCH] SONAR-926 Language is null in projects table for project/module resources --- .../batch/index/DefaultResourcePersister.java | 4 ++-- .../scan/filesystem/ComponentIndexer.java | 18 ------------------ ...moveRootIndexIfResourceIsProject-result.xml | 2 +- .../shouldSaveCopyProject-result.xml | 2 +- .../shouldSaveNewDirectory-result.xml | 2 +- .../shouldSaveNewLibrary-result.xml | 2 +- ...shouldSaveNewMultiModulesProject-result.xml | 8 ++++---- .../shouldSaveNewProject-result.xml | 2 +- .../shouldUpdateExistingResource-result.xml | 2 +- 9 files changed, 12 insertions(+), 30 deletions(-) diff --git a/sonar-batch/src/main/java/org/sonar/batch/index/DefaultResourcePersister.java b/sonar-batch/src/main/java/org/sonar/batch/index/DefaultResourcePersister.java index 3397d3a05d8..c658f4bc34f 100644 --- a/sonar-batch/src/main/java/org/sonar/batch/index/DefaultResourcePersister.java +++ b/sonar-batch/src/main/java/org/sonar/batch/index/DefaultResourcePersister.java @@ -89,8 +89,8 @@ public final class DefaultResourcePersister implements ResourcePersister { ResourceModel model = findOrCreateModel(project); // Used by ResourceKeyMigration in order to know that a project has already being migrated model.setDeprecatedKey(project.getKey()); - // ugly, only for projects - model.setLanguageKey(project.getLanguageKey()); + // language is null for project since multi-language support + model.setLanguageKey(null); // For views if (project instanceof ResourceCopy) { 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 a0671818921..8070a0a0574 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 @@ -22,7 +22,6 @@ package org.sonar.batch.scan.filesystem; import com.google.common.annotations.VisibleForTesting; import com.google.common.base.CharMatcher; 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.SonarIndex; @@ -40,7 +39,6 @@ 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; -import org.sonar.core.resource.ResourceDto; /** * Index all files/directories of the module in SQ database and importing source code. @@ -92,8 +90,6 @@ public class ComponentIndexer implements BatchComponent { importSources(shouldImportSource, inputFile, sonarFile); } } - - updateModuleLanguage(); } @VisibleForTesting @@ -116,18 +112,4 @@ public class ComponentIndexer implements BatchComponent { + inputFile.encoding() + "'.", e); } } - - private void updateModuleLanguage() { - if (module.getId() != null) { - ResourceDto dto = resourceDao.getResource(module.getId()); - if (moduleLanguages.keys().size() == 1) { - dto.setLanguage(moduleLanguages.keys().iterator().next()); - } else if (moduleLanguages.keys().size() > 1) { - dto.setLanguage(StringUtils.join(moduleLanguages.keys(), ",")); - } else { - dto.setLanguage(Project.NONE_LANGUAGE.getKey()); - } - resourceDao.insertOrUpdate(dto); - } - } } diff --git a/sonar-batch/src/test/resources/org/sonar/batch/index/DefaultResourcePersisterTest/shouldRemoveRootIndexIfResourceIsProject-result.xml b/sonar-batch/src/test/resources/org/sonar/batch/index/DefaultResourcePersisterTest/shouldRemoveRootIndexIfResourceIsProject-result.xml index daadbb905fd..da49a60a9c0 100644 --- a/sonar-batch/src/test/resources/org/sonar/batch/index/DefaultResourcePersisterTest/shouldRemoveRootIndexIfResourceIsProject-result.xml +++ b/sonar-batch/src/test/resources/org/sonar/batch/index/DefaultResourcePersisterTest/shouldRemoveRootIndexIfResourceIsProject-result.xml @@ -2,7 +2,7 @@ + enabled="true" language="[null]" copy_resource_id="[null]" person_id="[null]" created_at="[null]" path="[null]" deprecated_kee="foo"/> + enabled="true" language="[null]" copy_resource_id="10" person_id="[null]" path="[null]" deprecated_kee="foo" /> + enabled="true" language="[null]" copy_resource_id="[null]" person_id="[null]" path="[null]" deprecated_kee="foo" /> + enabled="true" language="[null]" copy_resource_id="[null]" person_id="[null]" path="[null]" deprecated_kee="foo" /> + enabled="true" language="[null]" copy_resource_id="[null]" person_id="[null]" path="[null]" deprecated_kee="root" /> + enabled="true" language="[null]" copy_resource_id="[null]" person_id="[null]" path="moduleA" deprecated_kee="a" /> + enabled="true" language="[null]" copy_resource_id="[null]" person_id="[null]" path="moduleB" deprecated_kee="b" /> + enabled="true" language="[null]" copy_resource_id="[null]" person_id="[null]" path="moduleB1" deprecated_kee="b1" /> + enabled="true" language="[null]" copy_resource_id="[null]" person_id="[null]" path="[null]" deprecated_kee="foo" /> + enabled="true" language="[null]" copy_resource_id="[null]" person_id="[null]" path="[null]" deprecated_kee="foo" />