]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-5698 fix service call by the WS. add missing ServerComponents
authorTeryk Bellahsene <teryk.bellahsene@sonarsource.com>
Tue, 14 Oct 2014 21:24:10 +0000 (23:24 +0200)
committerTeryk Bellahsene <teryk.bellahsene@sonarsource.com>
Tue, 14 Oct 2014 21:24:10 +0000 (23:24 +0200)
pom.xml
server/sonar-server/src/main/java/org/sonar/server/computation/ComputationService.java
server/sonar-server/src/main/java/org/sonar/server/computation/ws/ActiveAnalysisReportsAction.java
server/sonar-server/src/main/java/org/sonar/server/computation/ws/IsAnalysisReportQueueEmptyAction.java
server/sonar-server/src/main/java/org/sonar/server/platform/ServerComponents.java
server/sonar-server/src/test/java/org/sonar/server/computation/ws/ActiveAnalysisReportsActionTest.java
server/sonar-server/src/test/java/org/sonar/server/computation/ws/AnalysisReportWebServiceTest.java

diff --git a/pom.xml b/pom.xml
index e54d1df203f78ff26aad7e13bf481584cd9f36b4..5923ffc45bcdd08a4cc7f903a2cb04fc25f7e809 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -55,7 +55,7 @@
     <repository>
       <id>codehaus-nexus-staging</id>
       <name>Codehaus Release Repository</name>
-      <url>https://nexus.codehaus.org/service/local/staging/deploy/maven2/</url>
+      <url>https://nexus.codehaus.org/queue/local/staging/deploy/maven2/</url>
     </repository>
     <snapshotRepository>
       <id>sonar-snapshots</id>
index 705d69c5428b4f340bd642f6946c489079354bd9..20d08702dbaf534793d15a3e5cefd5faa86c6af7 100644 (file)
@@ -79,8 +79,4 @@ public class ComputationService implements ServerComponent {
       session.commit();
     }
   }
-
-  public List<AnalysisReportDto> findAllUnfinishedAnalysisReports() {
-    return null;
-  }
 }
index 7bcc93f440cfb0a6ad129f4e7446bcb81d498c59..d37bcb2fcdf9da1439fb49d3ac845a97513388a9 100644 (file)
@@ -27,7 +27,7 @@ import org.sonar.api.server.ws.Response;
 import org.sonar.api.server.ws.WebService;
 import org.sonar.api.utils.text.JsonWriter;
 import org.sonar.core.computation.db.AnalysisReportDto;
-import org.sonar.server.computation.ComputationService;
+import org.sonar.server.computation.AnalysisReportQueue;
 
 import java.util.List;
 
@@ -35,15 +35,15 @@ import java.util.List;
  * @since 5.0
  */
 public class ActiveAnalysisReportsAction implements RequestHandler {
-  private final ComputationService service;
+  private final AnalysisReportQueue queue;
 
-  public ActiveAnalysisReportsAction(ComputationService service) {
-    this.service = service;
+  public ActiveAnalysisReportsAction(AnalysisReportQueue queue) {
+    this.queue = queue;
   }
 
   @Override
   public void handle(Request request, Response response) throws Exception {
-    List<AnalysisReportDto> reports = service.findAllUnfinishedAnalysisReports();
+    List<AnalysisReportDto> reports = queue.all();
 
     JsonWriter json = response.newJsonWriter().beginObject();
     writeReports(reports, json);
@@ -68,11 +68,11 @@ public class ActiveAnalysisReportsAction implements RequestHandler {
 
   void define(WebService.NewController controller) {
     controller
-      .createAction("active")
-      .setDescription("List all the active analysis reports")
-      .setSince("5.0")
-      .setResponseExample(Resources.getResource(getClass(), "example-list.json"))
-      .setHandler(this);
+        .createAction("active")
+        .setDescription("List all the active analysis reports")
+        .setSince("5.0")
+        .setResponseExample(Resources.getResource(getClass(), "example-list.json"))
+        .setHandler(this);
   }
 
 }
index 8e48c09f355bbf47adb574dabd1453b61be07424..fe7bbd0a7dffca4f19bbd3f83c74c9bb5f7a4624 100644 (file)
@@ -26,15 +26,15 @@ import org.sonar.api.server.ws.RequestHandler;
 import org.sonar.api.server.ws.Response;
 import org.sonar.api.server.ws.WebService;
 import org.sonar.core.computation.db.AnalysisReportDto;
-import org.sonar.server.computation.ComputationService;
+import org.sonar.server.computation.AnalysisReportQueue;
 
 import java.util.List;
 
 public class IsAnalysisReportQueueEmptyAction implements RequestHandler {
-  private final ComputationService service;
+  private final AnalysisReportQueue queue;
 
-  public IsAnalysisReportQueueEmptyAction(ComputationService service) {
-    this.service = service;
+  public IsAnalysisReportQueueEmptyAction(AnalysisReportQueue queue) {
+    this.queue = queue;
   }
 
   void define(WebService.NewController controller) {
@@ -47,7 +47,7 @@ public class IsAnalysisReportQueueEmptyAction implements RequestHandler {
 
   @Override
   public void handle(Request request, Response response) throws Exception {
-    List<AnalysisReportDto> reports = service.findAllUnfinishedAnalysisReports();
+    List<AnalysisReportDto> reports = queue.all();
     boolean isQueueEmpty = reports.isEmpty();
 
     IOUtils.write(String.valueOf(isQueueEmpty), response.stream().output());
index 0cb3aa5d42fc92e392032e806ce9b0e41e3d0926..28c93e300bea44d20fb1896381e4d5d21a5c5537 100644 (file)
@@ -90,6 +90,9 @@ import org.sonar.server.computation.AnalysisReportTaskCleaner;
 import org.sonar.server.computation.AnalysisReportTaskLauncher;
 import org.sonar.server.computation.ComputationService;
 import org.sonar.server.computation.db.AnalysisReportDao;
+import org.sonar.server.computation.ws.ActiveAnalysisReportsAction;
+import org.sonar.server.computation.ws.AnalysisReportWebService;
+import org.sonar.server.computation.ws.IsAnalysisReportQueueEmptyAction;
 import org.sonar.server.config.ws.PropertiesWs;
 import org.sonar.server.dashboard.db.DashboardDao;
 import org.sonar.server.dashboard.db.WidgetDao;
@@ -270,7 +273,7 @@ class ServerComponents {
       ActivityNormalizer.class,
       ActivityIndex.class,
       ActivityDao.class
-      ));
+    ));
     components.addAll(CorePropertyDefinitions.all());
     components.addAll(DatabaseMigrations.CLASSES);
     components.addAll(DaoUtils.getDaoClasses());
@@ -303,7 +306,7 @@ class ServerComponents {
       // ws
       RestartHandler.class,
       SystemWs.class
-      );
+    );
   }
 
   /**
@@ -320,7 +323,7 @@ class ServerComponents {
       HttpDownloader.class,
       UriReader.class,
       ServerIdGenerator.class
-      );
+    );
   }
 
   void startLevel4Components(ComponentContainer pico) {
@@ -591,6 +594,9 @@ class ServerComponents {
     pico.addSingleton(ComputationService.class);
     pico.add(AnalysisReportQueue.class);
     pico.addSingleton(AnalysisReportTaskLauncher.class);
+    pico.addSingleton(ActiveAnalysisReportsAction.class);
+    pico.addSingleton(AnalysisReportWebService.class);
+    pico.addSingleton(IsAnalysisReportQueueEmptyAction.class);
 
     for (Object components : level4AddedComponents) {
       pico.addSingleton(components);
index 315d5e6ce3ec4cb2cc4cb3afb198005625e1901e..f77d527a3d38ac6837c543d7c76bc200a2984cb9 100644 (file)
@@ -25,7 +25,7 @@ import org.junit.Before;
 import org.junit.Test;
 import org.sonar.api.utils.DateUtils;
 import org.sonar.core.computation.db.AnalysisReportDto;
-import org.sonar.server.computation.ComputationService;
+import org.sonar.server.computation.AnalysisReportQueue;
 import org.sonar.server.ws.WsTester;
 
 import java.util.List;
@@ -37,13 +37,14 @@ import static org.sonar.core.computation.db.AnalysisReportDto.Status.PENDING;
 
 public class ActiveAnalysisReportsActionTest {
 
-  ComputationService service = mock(ComputationService.class);
+  private AnalysisReportQueue queue;
 
   WsTester tester;
 
   @Before
   public void setup() throws Exception {
-    tester = new WsTester(new AnalysisReportWebService(new ActiveAnalysisReportsAction(service), new IsAnalysisReportQueueEmptyAction(service)));
+    queue = mock(AnalysisReportQueue.class);
+    tester = new WsTester(new AnalysisReportWebService(new ActiveAnalysisReportsAction(queue), new IsAnalysisReportQueueEmptyAction(queue)));
   }
 
   @Test
@@ -57,7 +58,7 @@ public class ActiveAnalysisReportsActionTest {
     report.setCreatedAt(DateUtils.parseDateTime("2014-10-13T00:00:00+0200"))
       .setUpdatedAt(DateUtils.parseDateTime("2014-10-14T00:00:00+0200"));
     List<AnalysisReportDto> reports = Lists.newArrayList(report);
-    when(service.findAllUnfinishedAnalysisReports()).thenReturn(reports);
+    when(queue.all()).thenReturn(reports);
 
     WsTester.TestRequest request = tester.newGetRequest(AnalysisReportWebService.API_ENDPOINT, "active");
     request.execute().assertJson(getClass(), "list_active_reports.json");
index cdbe24e722957f58eff4ab319d4c8b5341eb1943..59f851325102ccccf491fe20427f3ccdc696899c 100644 (file)
@@ -23,7 +23,7 @@ package org.sonar.server.computation.ws;
 import org.junit.Before;
 import org.junit.Test;
 import org.sonar.api.server.ws.WebService;
-import org.sonar.server.computation.ComputationService;
+import org.sonar.server.computation.AnalysisReportQueue;
 import org.sonar.server.ws.WsTester;
 
 import static org.fest.assertions.Assertions.assertThat;
@@ -35,8 +35,8 @@ public class AnalysisReportWebServiceTest {
 
   @Before
   public void setUp() throws Exception {
-    this.tester = new WsTester(new AnalysisReportWebService(new ActiveAnalysisReportsAction(mock(ComputationService.class)), new IsAnalysisReportQueueEmptyAction(
-      mock(ComputationService.class))));
+    this.tester = new WsTester(new AnalysisReportWebService(new ActiveAnalysisReportsAction(mock(AnalysisReportQueue.class)), new IsAnalysisReportQueueEmptyAction(
+      mock(AnalysisReportQueue.class))));
   }
 
   @Test