]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-926 First attempt to fix views task
authorJulien HENRY <julien.henry@sonarsource.com>
Wed, 29 Jan 2014 14:05:08 +0000 (15:05 +0100)
committerJulien HENRY <julien.henry@sonarsource.com>
Wed, 29 Jan 2014 15:01:07 +0000 (16:01 +0100)
sonar-batch/src/main/java/org/sonar/batch/ProjectTree.java
sonar-batch/src/main/java/org/sonar/batch/phases/PhaseExecutor.java
sonar-batch/src/main/java/org/sonar/batch/rule/ModuleQProfiles.java
sonar-batch/src/test/java/org/sonar/batch/rule/ModuleQProfilesTest.java

index 98b7916d37a630bac5d48b79fabee8ba6353efd8..4b32c95a6d5074b98ffb4e58441b6a0688f430ee 100644 (file)
@@ -23,8 +23,7 @@ import org.sonar.api.batch.bootstrap.ProjectDefinition;
 import org.sonar.api.resources.Project;
 
 /**
- * TODO Maybe it should be moved in Sonar API?
- * @author julien
+ * Implemented by Views plugin.
  *
  */
 public interface ProjectTree {
index 1c0149c1b997863b9e5726059b9dcf0fe6d30163..9bef04cd813da3f63ca3cfefdee3626e17a50152 100644 (file)
@@ -111,12 +111,12 @@ public final class PhaseExecutor {
 
     executeInitializersPhase();
 
-    // Index and lock the filesystem
-    fs.index();
-
     persistenceManager.setDelayedMode(true);
 
     if (phases.isEnabled(Phases.Phase.SENSOR)) {
+      // Index and lock the filesystem
+      fs.index();
+
       sensorsExecutor.execute(sensorContext);
     }
 
index 7330ecf50ff599b89df46f0d2ef5acc97e37d159..32641f37314899d37c793999bb3e38e8ce2c124e 100644 (file)
@@ -28,11 +28,11 @@ import org.sonar.api.config.Settings;
 import org.sonar.api.resources.Language;
 import org.sonar.api.resources.Languages;
 import org.sonar.api.utils.MessageException;
-import org.sonar.batch.ProfileLoader;
 import org.sonar.core.qualityprofile.db.QualityProfileDao;
 import org.sonar.core.qualityprofile.db.QualityProfileDto;
 
 import javax.annotation.CheckForNull;
+
 import java.util.Collection;
 import java.util.Map;
 
@@ -75,27 +75,19 @@ public class ModuleQProfiles implements BatchComponent {
   private final Map<String, QProfile> byLanguage;
 
   public ModuleQProfiles(Settings settings, Languages languages, QualityProfileDao dao) {
-    this(settings, languages, dao, new ProfileLoader[0]);
-  }
-
-  public ModuleQProfiles(Settings settings, Languages languages, QualityProfileDao dao, ProfileLoader[] loaders) {
     ImmutableMap.Builder<String, QProfile> builder = ImmutableMap.builder();
-    if (loaders.length == 0) {
-      // not views plugin
-
-      String defaultName = settings.getString("sonar.profile");
-
-      for (Language language : languages.all()) {
-        QProfile profile;
-        if (StringUtils.isNotBlank(defaultName)) {
-          profile = loadDefaultQProfile(dao, defaultName, language.getKey());
-        } else {
-          profile = loadQProfile(dao, settings, language.getKey());
-        }
-        if (profile != null) {
-          LOG.info("Quality profile for {}: {}", profile.language(), profile.name());
-          builder.put(profile.language(), profile);
-        }
+    String defaultName = settings.getString("sonar.profile");
+
+    for (Language language : languages.all()) {
+      QProfile profile;
+      if (StringUtils.isNotBlank(defaultName)) {
+        profile = loadDefaultQProfile(dao, defaultName, language.getKey());
+      } else {
+        profile = loadQProfile(dao, settings, language.getKey());
+      }
+      if (profile != null) {
+        LOG.info("Quality profile for {}: {}", profile.language(), profile.name());
+        builder.put(profile.language(), profile);
       }
     }
     byLanguage = builder.build();
index 478b4fa71dc895af1f5f4567de2f93f58c2f4f53..09a9c7bded27d1c68dd6b03f6340287359c7816d 100644 (file)
@@ -25,7 +25,6 @@ import org.sonar.api.config.Settings;
 import org.sonar.api.resources.Language;
 import org.sonar.api.resources.Languages;
 import org.sonar.api.utils.MessageException;
-import org.sonar.batch.ProfileLoader;
 import org.sonar.core.persistence.AbstractDaoTestCase;
 import org.sonar.core.qualityprofile.db.QualityProfileDao;
 
@@ -48,7 +47,7 @@ public class ModuleQProfilesTest extends AbstractDaoTestCase {
     settings.setProperty("sonar.profile.abap", "Abap One");
     settings.setProperty("sonar.profile.php", "Php One");
 
-    ModuleQProfiles moduleQProfiles = new ModuleQProfiles(settings, languages, dao, new ProfileLoader[0]);
+    ModuleQProfiles moduleQProfiles = new ModuleQProfiles(settings, languages, dao);
     List<ModuleQProfiles.QProfile> qProfiles = Lists.newArrayList(moduleQProfiles.findAll());
 
     assertThat(qProfiles).hasSize(2);
@@ -76,7 +75,7 @@ public class ModuleQProfilesTest extends AbstractDaoTestCase {
     settings.setProperty("sonar.profile", "Java Two");
     settings.setProperty("sonar.profile.php", "Php One");
 
-    ModuleQProfiles moduleQProfiles = new ModuleQProfiles(settings, languages, dao, new ProfileLoader[0]);
+    ModuleQProfiles moduleQProfiles = new ModuleQProfiles(settings, languages, dao);
     List<ModuleQProfiles.QProfile> qProfiles = Lists.newArrayList(moduleQProfiles.findAll());
 
     assertThat(qProfiles).hasSize(1);
@@ -98,7 +97,7 @@ public class ModuleQProfilesTest extends AbstractDaoTestCase {
     settings.setProperty("sonar.profile.php", "Php One");
 
     try {
-      new ModuleQProfiles(settings, languages, dao, new ProfileLoader[0]);
+      new ModuleQProfiles(settings, languages, dao);
       fail();
     } catch (MessageException e) {
       assertThat(e).hasMessage("Quality profile not found : 'Unknown' on language 'java'");