diff options
author | simonbrandhof <simon.brandhof@gmail.com> | 2010-10-22 12:10:22 +0000 |
---|---|---|
committer | simonbrandhof <simon.brandhof@gmail.com> | 2010-10-22 12:10:22 +0000 |
commit | 2c8086f68f175eb60e7345118d31aed44ce6ac49 (patch) | |
tree | c1d4544c6a8c72d66d3bf1dd5bcd125eb45b4297 /sonar-batch/src | |
parent | 3b1aff9c40bd255c9c7b41a24f7a55aa17c0422c (diff) | |
download | sonarqube-2c8086f68f175eb60e7345118d31aed44ce6ac49.tar.gz sonarqube-2c8086f68f175eb60e7345118d31aed44ce6ac49.zip |
DefaultTimeMachine: do not search for the resource in index if the resource has already an id (cf VIEWS-4)
Diffstat (limited to 'sonar-batch/src')
-rw-r--r-- | sonar-batch/src/main/java/org/sonar/batch/DefaultTimeMachine.java | 5 | ||||
-rw-r--r-- | sonar-batch/src/test/java/org/sonar/batch/DefaultTimeMachineTest.java | 13 |
2 files changed, 13 insertions, 5 deletions
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 092b389f1f3..53872ce465a 100644 --- a/sonar-batch/src/main/java/org/sonar/batch/DefaultTimeMachine.java +++ b/sonar-batch/src/main/java/org/sonar/batch/DefaultTimeMachine.java @@ -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(); } diff --git a/sonar-batch/src/test/java/org/sonar/batch/DefaultTimeMachineTest.java b/sonar-batch/src/test/java/org/sonar/batch/DefaultTimeMachineTest.java index 8e097ddccc3..58500affe28 100644 --- a/sonar-batch/src/test/java/org/sonar/batch/DefaultTimeMachineTest.java +++ b/sonar-batch/src/test/java/org/sonar/batch/DefaultTimeMachineTest.java @@ -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)); |