]> source.dussan.org Git - sonarqube.git/commitdiff
Reduce dependencies on database
authorEvgeny Mandrikov <mandrikov@gmail.com>
Fri, 11 Mar 2011 19:40:16 +0000 (22:40 +0300)
committerEvgeny Mandrikov <mandrikov@gmail.com>
Fri, 11 Mar 2011 21:42:42 +0000 (00:42 +0300)
* Remove unused method DefaultDecoratorContext#getSession() and as a result dependency on DatabaseSession

* Replace DefaultIndex by SonarIndex in DefaultDecoratorContext and in DefaultSensorContext

sonar-batch/src/main/java/org/sonar/batch/DefaultDecoratorContext.java
sonar-batch/src/main/java/org/sonar/batch/DefaultSensorContext.java
sonar-batch/src/main/java/org/sonar/batch/ProjectBatch.java
sonar-batch/src/main/java/org/sonar/batch/phases/DecoratorsExecutor.java
sonar-plugin-api/src/main/java/org/sonar/api/batch/SonarIndex.java

index dedee60406a59e66ab6072d3f8ee41c01b346a5e..fde3c9099d4a47744b59dc9b08c8822bfa10a495 100644 (file)
  */
 package org.sonar.batch;
 
+import java.util.Collection;
+import java.util.Date;
+import java.util.List;
+import java.util.Set;
+
 import com.google.common.collect.Lists;
 import org.sonar.api.batch.DecoratorContext;
 import org.sonar.api.batch.Event;
-import org.sonar.api.database.DatabaseSession;
+import org.sonar.api.batch.SonarIndex;
 import org.sonar.api.design.Dependency;
 import org.sonar.api.measures.Measure;
 import org.sonar.api.measures.MeasuresFilter;
@@ -31,28 +36,19 @@ import org.sonar.api.measures.Metric;
 import org.sonar.api.resources.Project;
 import org.sonar.api.resources.Resource;
 import org.sonar.api.rules.Violation;
-import org.sonar.batch.index.DefaultIndex;
-
-import java.util.Collection;
-import java.util.Date;
-import java.util.List;
-import java.util.Set;
 
 public class DefaultDecoratorContext implements DecoratorContext {
 
-  private DatabaseSession session;
-  private DefaultIndex index;
+  private SonarIndex index;
   private Resource resource;
   private boolean readOnly = false;
 
   private List<DecoratorContext> childrenContexts;
 
   public DefaultDecoratorContext(Resource resource,
-                                 DefaultIndex index,
-                                 List<DecoratorContext> childrenContexts,
-                                 DatabaseSession session) {
+                                 SonarIndex index,
+                                 List<DecoratorContext> childrenContexts) {
     this.index = index;
-    this.session = session;
     this.resource = resource;
     this.childrenContexts = childrenContexts;
   }
@@ -121,7 +117,6 @@ public class DefaultDecoratorContext implements DecoratorContext {
     return this;
   }
 
-
   public List<Violation> getViolations() {
     return index.getViolations(resource);
   }
@@ -143,10 +138,6 @@ public class DefaultDecoratorContext implements DecoratorContext {
     return index.getOutgoingEdges(resource);
   }
 
-  protected DatabaseSession getSession() {
-    return session;
-  }
-
   public List<Event> getEvents() {
     return index.getEvents(resource);
   }
@@ -158,7 +149,7 @@ public class DefaultDecoratorContext implements DecoratorContext {
   public void deleteEvent(Event event) {
     index.deleteEvent(event);
   }
-  
+
   public DefaultDecoratorContext saveViolation(Violation violation, boolean force) {
     if (violation.getResource() == null) {
       violation.setResource(resource);
index 1689bc4269f7149a0c52b499f96e59145c671271..5dcda3d333271b8b033ce5c73ceff0cbdbe604e1 100644 (file)
@@ -21,13 +21,13 @@ package org.sonar.batch;
 
 import org.sonar.api.batch.Event;
 import org.sonar.api.batch.SensorContext;
+import org.sonar.api.batch.SonarIndex;
 import org.sonar.api.design.Dependency;
 import org.sonar.api.measures.Measure;
 import org.sonar.api.measures.MeasuresFilter;
 import org.sonar.api.measures.Metric;
 import org.sonar.api.resources.*;
 import org.sonar.api.rules.Violation;
-import org.sonar.batch.index.DefaultIndex;
 
 import java.util.Collection;
 import java.util.Date;
@@ -36,10 +36,10 @@ import java.util.Set;
 
 public class DefaultSensorContext implements SensorContext {
 
-  private DefaultIndex index;
+  private SonarIndex index;
   private Project project;
 
-  public DefaultSensorContext(DefaultIndex index, Project project) {
+  public DefaultSensorContext(SonarIndex index, Project project) {
     this.index = index;
     this.project = project;
   }
index 14406cf4ff97f6719950ac70d7d72558632d0fc3..1ffbcb954adfec557240fd5c71a8e29b5d747d3b 100644 (file)
@@ -121,7 +121,6 @@ public class ProjectBatch {
 
       // the Snapshot component will be removed when asynchronous measures are improved (required for AsynchronousMeasureSensor)
       addComponent(getComponent(DefaultResourcePersister.class).getSnapshot(project));
-      // TODO was addComponent(globalComponents.getComponent(DefaultResourcePersister.class).getSnapshot(project));
 
       addComponent(org.sonar.api.database.daos.MeasuresDao.class);
       addComponent(ProfilesDao.class);
index 9b294e8eb9023f8e3c367b86b3a5b443cdec42a4..70cc2a1d16babecbaee004b600adc0d812d9e7ed 100644 (file)
  */
 package org.sonar.batch.phases;
 
-import java.util.Collection;
-import java.util.List;
-
 import com.google.common.collect.Lists;
 import org.sonar.api.BatchComponent;
 import org.sonar.api.batch.BatchExtensionDictionnary;
 import org.sonar.api.batch.Decorator;
 import org.sonar.api.batch.DecoratorContext;
-import org.sonar.api.database.DatabaseSession;
+import org.sonar.api.batch.SonarIndex;
 import org.sonar.api.resources.Project;
 import org.sonar.api.resources.Resource;
 import org.sonar.batch.DecoratorsSelector;
@@ -35,18 +32,18 @@ import org.sonar.batch.DefaultDecoratorContext;
 import org.sonar.batch.events.DecoratorExecutionEvent;
 import org.sonar.batch.events.DecoratorsPhaseEvent;
 import org.sonar.batch.events.EventBus;
-import org.sonar.batch.index.DefaultIndex;
+
+import java.util.Collection;
+import java.util.List;
 
 public class DecoratorsExecutor implements BatchComponent {
 
   private DecoratorsSelector decoratorsSelector;
-  private DatabaseSession session;
-  private DefaultIndex index;
+  private SonarIndex index;
   private EventBus eventBus;
 
-  public DecoratorsExecutor(BatchExtensionDictionnary extensionDictionnary, DefaultIndex index, DatabaseSession session, EventBus eventBus) {
+  public DecoratorsExecutor(BatchExtensionDictionnary extensionDictionnary, SonarIndex index, EventBus eventBus) {
     this.decoratorsSelector = new DecoratorsSelector(extensionDictionnary);
-    this.session = session;
     this.index = index;
     this.eventBus = eventBus;
   }
@@ -66,7 +63,7 @@ public class DecoratorsExecutor implements BatchComponent {
       childrenContexts.add(childContext.setReadOnly(true));
     }
 
-    DefaultDecoratorContext context = new DefaultDecoratorContext(resource, index, childrenContexts, session);
+    DefaultDecoratorContext context = new DefaultDecoratorContext(resource, index, childrenContexts);
     if (executeDecorators) {
       for (Decorator decorator : decorators) {
         eventBus.fireEvent(new DecoratorExecutionEvent(decorator, true));
index b7974c57a2c0e6099941e6be7e1f23122a82f193..02bb82d115324ffb07809d5fac84eca849552d74 100644 (file)
@@ -116,6 +116,11 @@ public abstract class SonarIndex implements DirectedGraphAccessor<Resource, Depe
 
   public abstract <M> M getMeasures(Resource resource, MeasuresFilter<M> filter);
 
+  /**
+   * @since 2.7
+   */
+  public abstract List<Violation> getViolations(Resource resource);
+
   /**
    * @since 2.5
    */