aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-batch/src
diff options
context:
space:
mode:
authorsimonbrandhof <simon.brandhof@gmail.com>2010-10-22 12:10:22 +0000
committersimonbrandhof <simon.brandhof@gmail.com>2010-10-22 12:10:22 +0000
commit2c8086f68f175eb60e7345118d31aed44ce6ac49 (patch)
treec1d4544c6a8c72d66d3bf1dd5bcd125eb45b4297 /sonar-batch/src
parent3b1aff9c40bd255c9c7b41a24f7a55aa17c0422c (diff)
downloadsonarqube-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.java5
-rw-r--r--sonar-batch/src/test/java/org/sonar/batch/DefaultTimeMachineTest.java13
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));