]> source.dussan.org Git - sonarqube.git/commitdiff
DefaultTimeMachine: do not search for the resource in index if the resource has alrea...
authorsimonbrandhof <simon.brandhof@gmail.com>
Fri, 22 Oct 2010 12:10:22 +0000 (12:10 +0000)
committersimonbrandhof <simon.brandhof@gmail.com>
Fri, 22 Oct 2010 12:10:22 +0000 (12:10 +0000)
sonar-batch/src/main/java/org/sonar/batch/DefaultTimeMachine.java
sonar-batch/src/test/java/org/sonar/batch/DefaultTimeMachineTest.java

index 092b389f1f35f54b1a81012590d29ead663b4ff9..53872ce465a96d2ce94bc4b91dabe5be06d40075 100644 (file)
@@ -62,7 +62,10 @@ public class DefaultTimeMachine implements TimeMachine {
   }
 
   protected List execute(TimeMachineQuery query, boolean selectAllFields) {
-    Resource resource = index.getResource(query.getResource());
+    Resource resource = query.getResource();
+    if (resource!=null && resource.getId()==null) {
+      resource = index.getResource(query.getResource());
+    }
     if (resource == null) {
       return Collections.emptyList();
     }
index 8e097ddccc30cb5b9fe732529d47c767b6c105cc..58500affe28a54da8d016a8919152c8ad64c6977 100644 (file)
@@ -49,7 +49,7 @@ public class DefaultTimeMachineTest extends AbstractDbUnitTestCase {
     setupData("loadMeasuresFromDate");
     DefaultTimeMachine timeMachine = initTimeMachine();
 
-    TimeMachineQuery query = new TimeMachineQuery(null).setFrom(date("2008-02-01")).setMetrics(Arrays.asList(CoreMetrics.NCLOC));
+    TimeMachineQuery query = new TimeMachineQuery(newProject()).setFrom(date("2008-02-01")).setMetrics(Arrays.asList(CoreMetrics.NCLOC));
     List<Object[]> measures = timeMachine.getMeasuresFields(query);
 
     assertThat(measures.size(), is(3));
@@ -64,18 +64,23 @@ public class DefaultTimeMachineTest extends AbstractDbUnitTestCase {
 
   private DefaultTimeMachine initTimeMachine() {
     DefaultSonarIndex index = mock(DefaultSonarIndex.class);
-    when(index.getResource((Resource) anyObject())).thenReturn(new Project("group:artifact").setId(1));
     DefaultTimeMachine timeMachine = new DefaultTimeMachine(getSession(), index, new MeasuresDao(getSession()));
     return timeMachine;
   }
 
+  private Project newProject() {
+    Project project = new Project("group:artifact");
+    project.setId(1);
+    return project;
+  }
+
   @Test(timeout = 3000)
   public void loadMeasuresFromDate() throws ParseException {
     setupData("loadMeasuresFromDate");
     DefaultTimeMachine timeMachine = initTimeMachine();
 
 
-    TimeMachineQuery query = new TimeMachineQuery(null).setFrom(date("2008-02-01")).setMetrics(Arrays.asList(CoreMetrics.NCLOC));
+    TimeMachineQuery query = new TimeMachineQuery(newProject()).setFrom(date("2008-02-01")).setMetrics(Arrays.asList(CoreMetrics.NCLOC));
     List<Measure> measures = timeMachine.getMeasures(query);
 
     assertThat(measures.size(), is(3));
@@ -96,7 +101,7 @@ public class DefaultTimeMachineTest extends AbstractDbUnitTestCase {
     DefaultTimeMachine timeMachine = initTimeMachine();
 
 
-    TimeMachineQuery query = new TimeMachineQuery(null).setFrom(date("2008-01-01")).setTo(date("2008-12-25")).setMetrics(Arrays.asList(CoreMetrics.NCLOC));
+    TimeMachineQuery query = new TimeMachineQuery(newProject()).setFrom(date("2008-01-01")).setTo(date("2008-12-25")).setMetrics(Arrays.asList(CoreMetrics.NCLOC));
     List<Measure> measures = timeMachine.getMeasures(query);
     assertThat(measures.size(), is(1));
     assertThat(measures.get(0).getValue(), is(200d));