]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-5601 - Created "sonar.issues.use_es_backend" to switch search backend for issues
authorStephane Gamard <stephane.gamard@sonarsource.com>
Mon, 8 Sep 2014 08:28:51 +0000 (10:28 +0200)
committerStephane Gamard <stephane.gamard@sonarsource.com>
Mon, 8 Sep 2014 08:42:55 +0000 (10:42 +0200)
server/sonar-server/src/main/java/org/sonar/server/issue/ws/SearchAction.java
server/sonar-server/src/main/java/org/sonar/server/platform/Platform.java
server/sonar-server/src/main/java/org/sonar/server/platform/ServerComponents.java

index c2dcf458380e2a2023a4e8b0a0c307b5bc8f54f7..daa9e27e3620b29b0988cb1a903e18ae14c16c88 100644 (file)
@@ -68,7 +68,7 @@ import static com.google.common.collect.Lists.newArrayList;
 
 public class SearchAction implements RequestHandler {
 
-  public static final String SEARCH_ACTION = "es-search";
+  public static final String SEARCH_ACTION = "search";
 
   private static final String ACTIONS_EXTRA_FIELD = "actions";
   private static final String TRANSITIONS_EXTRA_FIELD = "transitions";
index dc1ce4f53b9c8ea504aa78253ca48279cdebdc52..fb5aafdde4817a91dffa7f5fa8c738cffe61a09a 100644 (file)
@@ -67,7 +67,7 @@ public class Platform {
   }
 
   public void init(Properties properties) {
-    serverComponents = new ServerComponents(this, properties);
+    serverComponents = new ServerComponents(properties, this);
     if (!dbConnected) {
       startLevel1Container();
       startLevel2Container();
index f53f013929a1bb60be6329ce55d8cf4d688e0b41..3a3049e03f045e758691c6203dc7954873d3f404 100644 (file)
@@ -297,14 +297,18 @@ import org.sonar.server.ws.WebServiceEngine;
 import java.util.Arrays;
 import java.util.Collection;
 import java.util.List;
+import java.util.Properties;
 
 class ServerComponents {
 
   private final Object[] rootComponents;
+  private final Properties properties;
   private List level4AddedComponents = Lists.newArrayList();
 
-  ServerComponents(Object... rootComponents) {
-    this.rootComponents = rootComponents;
+  ServerComponents(Properties properties, Object... rootComponents) {
+    this.properties = properties;
+    this.rootComponents = Lists.newArrayList(properties, rootComponents)
+      .toArray(new Object[rootComponents.length + 1]);
   }
 
   /**
@@ -491,6 +495,7 @@ class ServerComponents {
     pico.addSingleton(ActiveRuleCompleter.class);
     pico.addSingleton(AppAction.class);
 
+    // activity
     pico.addSingleton(ActivitiesWebService.class);
     pico.addSingleton(org.sonar.server.activity.ws.SearchAction.class);
     pico.addSingleton(ActivityMapping.class);
@@ -590,8 +595,13 @@ class ServerComponents {
     pico.addSingleton(IssueChangelogFormatter.class);
     pico.addSingleton(IssuesWs.class);
     pico.addSingleton(IssueShowAction.class);
-    pico.addSingleton(IssueSearchAction.class);
-    pico.addSingleton(org.sonar.server.issue.ws.SearchAction.class);
+
+    // Switch Issue search
+    if (properties.getProperty("sonar.issues.use_es_backend", null) != null) {
+      pico.addSingleton(org.sonar.server.issue.ws.SearchAction.class);
+    } else {
+      pico.addSingleton(IssueSearchAction.class);
+    }
     pico.addSingleton(IssueActionsWriter.class);
 
     // issue filters