From 835c31f8d67f8720d3fc3c7e8e3d5eee41a017f5 Mon Sep 17 00:00:00 2001
From: Julien Lancelot <julien.lancelot@gmail.com>
Date: Thu, 28 Feb 2013 14:30:46 +0100
Subject: Improve ProjectTaskContainer in order to override some components

---
 .../src/main/java/org/sonar/batch/DefaultTimeMachine.java   | 13 +++++++++----
 .../org/sonar/batch/bootstrap/ProjectTaskContainer.java     |  9 +++++++++
 2 files changed, 18 insertions(+), 4 deletions(-)

(limited to 'sonar-batch/src')

diff --git a/sonar-batch/src/main/java/org/sonar/batch/DefaultTimeMachine.java b/sonar-batch/src/main/java/org/sonar/batch/DefaultTimeMachine.java
index ad2ec8007b8..5e949853af9 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/DefaultTimeMachine.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/DefaultTimeMachine.java
@@ -21,6 +21,7 @@ package org.sonar.batch;
 
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
+import org.sonar.api.batch.SonarIndex;
 import org.sonar.api.batch.TimeMachine;
 import org.sonar.api.batch.TimeMachineQuery;
 import org.sonar.api.database.DatabaseSession;
@@ -31,19 +32,23 @@ import org.sonar.api.measures.Metric;
 import org.sonar.api.measures.MetricFinder;
 import org.sonar.api.resources.Qualifiers;
 import org.sonar.api.resources.Resource;
-import org.sonar.batch.index.DefaultIndex;
 
 import javax.persistence.Query;
 
-import java.util.*;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
 
 public class DefaultTimeMachine implements TimeMachine {
 
   private DatabaseSession session;
-  private DefaultIndex index;
+  private SonarIndex index;
   private MetricFinder metricFinder;
 
-  public DefaultTimeMachine(DatabaseSession session, DefaultIndex index, MetricFinder metricFinder) {
+  public DefaultTimeMachine(DatabaseSession session, SonarIndex index, MetricFinder metricFinder) {
     this.session = session;
     this.index = index;
     this.metricFinder = metricFinder;
diff --git a/sonar-batch/src/main/java/org/sonar/batch/bootstrap/ProjectTaskContainer.java b/sonar-batch/src/main/java/org/sonar/batch/bootstrap/ProjectTaskContainer.java
index e63a411bdb3..22e3b3c603b 100644
--- a/sonar-batch/src/main/java/org/sonar/batch/bootstrap/ProjectTaskContainer.java
+++ b/sonar-batch/src/main/java/org/sonar/batch/bootstrap/ProjectTaskContainer.java
@@ -53,6 +53,7 @@ public class ProjectTaskContainer extends Container {
     registerCoreProjectTasks();
     registerCoreComponentsRequiringProject();
     registerProjectTaskExtensions();
+    registerOverrideAbleComponents();
   }
 
   private void registerCoreProjectTasks() {
@@ -78,6 +79,14 @@ public class ProjectTaskContainer extends Container {
     container.addSingleton(ScanGraphStore.class);
   }
 
+  /**
+   * In order for instance for the plugin Views to override some components
+   */
+  protected void registerOverrideAbleComponents(){
+    container.addSingleton(DefaultIndex.class);
+    container.addSingleton(ProjectLock.class);
+  }
+
   private void logSettings() {
     LOG.info("-------------  Executing {}", taskDefinition.getName());
   }
-- 
cgit v1.2.3