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 {
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;
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;
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 {
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;
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;
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 {
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(
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;
}
}
- public ScmConfiguration(ProjectReactor projectReactor, AnalysisMode analysisMode, Settings settings) {
+ public ScmConfiguration(ImmutableProjectReactor projectReactor, AnalysisMode analysisMode, Settings settings) {
this(projectReactor, analysisMode, settings, new ScmProvider[0]);
}
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;
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"));
}