From 2c8086f68f175eb60e7345118d31aed44ce6ac49 Mon Sep 17 00:00:00 2001 From: simonbrandhof Date: Fri, 22 Oct 2010 12:10:22 +0000 Subject: [PATCH] DefaultTimeMachine: do not search for the resource in index if the resource has already an id (cf VIEWS-4) --- .../java/org/sonar/batch/DefaultTimeMachine.java | 5 ++++- .../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 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 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 measures = timeMachine.getMeasures(query); assertThat(measures.size(), is(1)); assertThat(measures.get(0).getValue(), is(200d)); -- 2.39.5