]> source.dussan.org Git - sonarqube.git/commitdiff
Use ImmutableProjectReactor when possible
authorJulien HENRY <julien.henry@sonarsource.com>
Mon, 1 Jun 2015 11:23:23 +0000 (13:23 +0200)
committerJulien HENRY <julien.henry@sonarsource.com>
Mon, 1 Jun 2015 11:23:23 +0000 (13:23 +0200)
sonar-batch/src/main/java/org/sonar/batch/issue/tracking/ServerIssueRepository.java
sonar-batch/src/main/java/org/sonar/batch/report/ReportPublisher.java
sonar-batch/src/main/java/org/sonar/batch/scan/ImmutableProjectReactor.java
sonar-batch/src/main/java/org/sonar/batch/scm/ScmConfiguration.java
sonar-batch/src/test/java/org/sonar/batch/report/ReportPublisherTest.java

index 79bedb1c1127c61f2a0fe0c83efd8cfcae26e85d..bcf8fe66538d33eade8c44d0031f665d0457b75d 100644 (file)
 package org.sonar.batch.issue.tracking;
 
 import com.google.common.base.Function;
-import org.sonar.api.batch.BatchSide;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import javax.annotation.Nullable;
 import org.sonar.api.batch.AnalysisMode;
+import org.sonar.api.batch.BatchSide;
 import org.sonar.api.batch.InstantiationStrategy;
-import org.sonar.api.batch.bootstrap.ProjectReactor;
 import org.sonar.api.batch.fs.InputFile;
 import org.sonar.api.batch.fs.InputFile.Status;
 import org.sonar.api.utils.log.Logger;
 import org.sonar.api.utils.log.Loggers;
 import org.sonar.api.utils.log.Profiler;
 import org.sonar.batch.index.BatchComponent;
+import org.sonar.batch.index.BatchComponentCache;
 import org.sonar.batch.index.Cache;
 import org.sonar.batch.index.Caches;
-import org.sonar.batch.index.BatchComponentCache;
 import org.sonar.batch.protocol.input.BatchInput.ServerIssue;
 import org.sonar.batch.repository.ServerIssuesLoader;
+import org.sonar.batch.scan.ImmutableProjectReactor;
 import org.sonar.batch.scan.filesystem.InputPathCache;
 import org.sonar.core.component.ComponentKeys;
 
-import javax.annotation.Nullable;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
 @InstantiationStrategy(InstantiationStrategy.PER_BATCH)
 @BatchSide
 public class ServerIssueRepository {
@@ -53,12 +51,12 @@ public class ServerIssueRepository {
   private final Caches caches;
   private Cache<ServerIssue> issuesCache;
   private final ServerIssuesLoader previousIssuesLoader;
-  private final ProjectReactor reactor;
+  private final ImmutableProjectReactor reactor;
   private final BatchComponentCache resourceCache;
   private final AnalysisMode analysisMode;
   private final InputPathCache inputPathCache;
 
-  public ServerIssueRepository(Caches caches, ServerIssuesLoader previousIssuesLoader, ProjectReactor reactor, BatchComponentCache resourceCache,
+  public ServerIssueRepository(Caches caches, ServerIssuesLoader previousIssuesLoader, ImmutableProjectReactor reactor, BatchComponentCache resourceCache,
     AnalysisMode analysisMode, InputPathCache inputPathCache) {
     this.caches = caches;
     this.previousIssuesLoader = previousIssuesLoader;
index 64dc492ef5e4f5ea6e63b3068844a7d7d043c608..5660e8fc23f9772ae087d92e56d0479ca95f343c 100644 (file)
@@ -32,7 +32,6 @@ import org.slf4j.LoggerFactory;
 import org.sonar.api.CoreProperties;
 import org.sonar.api.batch.BatchSide;
 import org.sonar.api.batch.bootstrap.ProjectDefinition;
-import org.sonar.api.batch.bootstrap.ProjectReactor;
 import org.sonar.api.config.Settings;
 import org.sonar.api.platform.Server;
 import org.sonar.api.utils.TempFolder;
@@ -40,6 +39,7 @@ import org.sonar.api.utils.ZipUtils;
 import org.sonar.batch.bootstrap.DefaultAnalysisMode;
 import org.sonar.batch.bootstrap.ServerClient;
 import org.sonar.batch.protocol.output.BatchReportWriter;
+import org.sonar.batch.scan.ImmutableProjectReactor;
 
 @BatchSide
 public class ReportPublisher implements Startable {
@@ -50,7 +50,7 @@ public class ReportPublisher implements Startable {
   private final ServerClient serverClient;
   private final Server server;
   private final Settings settings;
-  private final ProjectReactor projectReactor;
+  private final ImmutableProjectReactor projectReactor;
   private final DefaultAnalysisMode analysisMode;
   private final TempFolder temp;
 
@@ -60,7 +60,7 @@ public class ReportPublisher implements Startable {
   private BatchReportWriter writer;
 
   public ReportPublisher(Settings settings, ServerClient serverClient, Server server,
-    ProjectReactor projectReactor, DefaultAnalysisMode analysisMode, TempFolder temp, ReportPublisherStep[] publishers) {
+    ImmutableProjectReactor projectReactor, DefaultAnalysisMode analysisMode, TempFolder temp, ReportPublisherStep[] publishers) {
     this.serverClient = serverClient;
     this.server = server;
     this.projectReactor = projectReactor;
index 687fb639b94b4749c530a62a4205237ddda3708c..b28bea91d20abb23f7eb610ffac4c12cc347a009 100644 (file)
@@ -27,7 +27,7 @@ import org.sonar.api.batch.BatchSide;
 import org.sonar.api.batch.bootstrap.ProjectDefinition;
 
 /**
- * Immutable copy of project reactor after all modifications have been applied (see {@link MutableProjectReactorProvider}).
+ * Immutable copy of project reactor after all modifications have been applied (see {@link ImmutableProjectReactorProvider}).
  */
 @BatchSide
 public class ImmutableProjectReactor {
index 397a2c4d2f1960d317c439933780e03c1a54bc5f..a0b767e5c7137a7247108f156817adfa378370ba 100644 (file)
 package org.sonar.batch.scm;
 
 import com.google.common.base.Joiner;
+import java.util.LinkedHashMap;
+import java.util.Map;
 import org.picocontainer.Startable;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.sonar.api.batch.BatchSide;
 import org.sonar.api.CoreProperties;
 import org.sonar.api.Properties;
 import org.sonar.api.Property;
 import org.sonar.api.PropertyType;
 import org.sonar.api.batch.AnalysisMode;
+import org.sonar.api.batch.BatchSide;
 import org.sonar.api.batch.InstantiationStrategy;
-import org.sonar.api.batch.bootstrap.ProjectReactor;
 import org.sonar.api.batch.scm.ScmProvider;
 import org.sonar.api.config.Settings;
-
-import java.util.LinkedHashMap;
-import java.util.Map;
+import org.sonar.batch.scan.ImmutableProjectReactor;
 
 @Properties({
   @Property(
@@ -57,14 +56,14 @@ public final class ScmConfiguration implements Startable {
 
   public static final String FORCE_RELOAD_KEY = "sonar.scm.forceReloadAll";
 
-  private final ProjectReactor projectReactor;
+  private final ImmutableProjectReactor projectReactor;
   private final Settings settings;
   private final Map<String, ScmProvider> providerPerKey = new LinkedHashMap<>();
   private final AnalysisMode analysisMode;
 
   private ScmProvider provider;
 
-  public ScmConfiguration(ProjectReactor projectReactor, AnalysisMode analysisMode, Settings settings, ScmProvider... providers) {
+  public ScmConfiguration(ImmutableProjectReactor projectReactor, AnalysisMode analysisMode, Settings settings, ScmProvider... providers) {
     this.projectReactor = projectReactor;
     this.analysisMode = analysisMode;
     this.settings = settings;
@@ -73,7 +72,7 @@ public final class ScmConfiguration implements Startable {
     }
   }
 
-  public ScmConfiguration(ProjectReactor projectReactor, AnalysisMode analysisMode, Settings settings) {
+  public ScmConfiguration(ImmutableProjectReactor projectReactor, AnalysisMode analysisMode, Settings settings) {
     this(projectReactor, analysisMode, settings, new ScmProvider[0]);
   }
 
index dcb0438619f8c59edaa2cef4f44c1cdcc155d8a7..8d2bdf973c7dc2383baf8fa55b4803cd11baf4b4 100644 (file)
@@ -24,13 +24,13 @@ import org.junit.Test;
 import org.slf4j.Logger;
 import org.sonar.api.CoreProperties;
 import org.sonar.api.batch.bootstrap.ProjectDefinition;
-import org.sonar.api.batch.bootstrap.ProjectReactor;
 import org.sonar.api.config.Settings;
 import org.sonar.api.platform.Server;
 import org.sonar.api.utils.TempFolder;
 import org.sonar.batch.bootstrap.DefaultAnalysisMode;
 import org.sonar.batch.bootstrap.ServerClient;
 import org.sonar.batch.index.BatchComponentCache;
+import org.sonar.batch.scan.ImmutableProjectReactor;
 import org.sonar.jpa.test.AbstractDbUnitTestCase;
 
 import static org.mockito.Mockito.mock;
@@ -43,12 +43,12 @@ public class ReportPublisherTest extends AbstractDbUnitTestCase {
 
   BatchComponentCache resourceCache = mock(BatchComponentCache.class);
 
-  private ProjectReactor reactor;
+  private ImmutableProjectReactor reactor;
 
   @Before
   public void setUp() {
     mode = mock(DefaultAnalysisMode.class);
-    reactor = mock(ProjectReactor.class);
+    reactor = mock(ImmutableProjectReactor.class);
     when(reactor.getRoot()).thenReturn(ProjectDefinition.create().setKey("struts"));
   }