You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by no...@apache.org on 2015/01/07 08:09:46 UTC

svn commit: r1650001 - in /lucene/dev/branches/branch_5x: ./ solr/ solr/core/ solr/core/src/java/org/apache/solr/handler/ solr/core/src/test/org/apache/solr/core/ solr/core/src/test/org/apache/solr/handler/

Author: noble
Date: Wed Jan  7 07:09:46 2015
New Revision: 1650001

URL: http://svn.apache.org/r1650001
Log:
SOLR-6533 implicit requesthandlers were not exposed 

Modified:
    lucene/dev/branches/branch_5x/   (props changed)
    lucene/dev/branches/branch_5x/solr/   (props changed)
    lucene/dev/branches/branch_5x/solr/core/   (props changed)
    lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/SolrConfigHandler.java
    lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/core/TestSolrConfigHandler.java
    lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/handler/TestBlobHandler.java

Modified: lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/SolrConfigHandler.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/SolrConfigHandler.java?rev=1650001&r1=1650000&r2=1650001&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/SolrConfigHandler.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/handler/SolrConfigHandler.java Wed Jan  7 07:09:46 2015
@@ -40,6 +40,7 @@ import org.apache.solr.common.util.Conte
 import org.apache.solr.common.util.StrUtils;
 import org.apache.solr.core.ConfigOverlay;
 import org.apache.solr.core.PluginInfo;
+import org.apache.solr.core.PluginsRegistry;
 import org.apache.solr.core.RequestParams;
 import org.apache.solr.core.SolrConfig;
 import org.apache.solr.core.SolrResourceLoader;
@@ -99,7 +100,7 @@ public class SolrConfigHandler extends R
 
     private void handleGET() {
       if(parts.size() == 1) {
-        resp.add("config", req.getCore().getSolrConfig().toMap());
+        resp.add("config", getConfigDetails());
       } else {
         if(ConfigOverlay.NAME.equals(parts.get(1))){
           resp.add(ConfigOverlay.NAME, req.getCore().getSolrConfig().getOverlay().toMap());
@@ -118,12 +119,27 @@ public class SolrConfigHandler extends R
           }
 
         } else {
-          Map<String, Object> m = req.getCore().getSolrConfig().toMap();
+          Map<String, Object> m = getConfigDetails();
           resp.add("config", ZkNodeProps.makeMap(parts.get(1),m.get(parts.get(1))));
         }
       }
     }
 
+    private Map<String, Object> getConfigDetails() {
+      Map<String, Object> map = req.getCore().getSolrConfig().toMap();
+      Map reqHandlers = (Map) map.get(SolrRequestHandler.TYPE);
+      if(reqHandlers == null) map.put(SolrRequestHandler.TYPE, reqHandlers =  new LinkedHashMap<>());
+      List<PluginInfo> plugins = PluginsRegistry.getHandlers(req.getCore());
+      for (PluginInfo plugin : plugins) {
+        if(SolrRequestHandler.TYPE.equals( plugin.type)){
+          if(!reqHandlers.containsKey(plugin.name)){
+            reqHandlers.put(plugin.name,plugin.toMap());
+          }
+        }
+      }
+      return map;
+    }
+
 
     private void handlePOST() throws IOException {
       Iterable<ContentStream> streams = req.getContentStreams();

Modified: lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/core/TestSolrConfigHandler.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/core/TestSolrConfigHandler.java?rev=1650001&r1=1650000&r2=1650001&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/core/TestSolrConfigHandler.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/core/TestSolrConfigHandler.java Wed Jan  7 07:09:46 2015
@@ -96,6 +96,17 @@ public class TestSolrConfigHandler exten
 
   public void testProperty() throws Exception{
     RestTestHarness harness = restTestHarness;
+    Map confMap =  getRespMap("/config?wt=json" ,harness);
+    assertNotNull( getObjectByPath(confMap,false,Arrays.asList("config","requestHandler","/admin/luke")));
+    assertNotNull( getObjectByPath(confMap,false,Arrays.asList("config","requestHandler","/admin/system")));
+    assertNotNull( getObjectByPath(confMap,false,Arrays.asList("config","requestHandler","/admin/mbeans")));
+    assertNotNull( getObjectByPath(confMap,false,Arrays.asList("config","requestHandler","/admin/plugins")));
+    assertNotNull( getObjectByPath(confMap,false,Arrays.asList("config","requestHandler","/admin/threads")));
+    assertNotNull( getObjectByPath(confMap,false,Arrays.asList("config","requestHandler","/admin/properties")));
+    assertNotNull( getObjectByPath(confMap,false,Arrays.asList("config","requestHandler","/admin/logging")));
+    assertNotNull( getObjectByPath(confMap,false,Arrays.asList("config","requestHandler","/admin/file")));
+    assertNotNull( getObjectByPath(confMap,false,Arrays.asList("config","requestHandler","/admin/ping")));
+
     String payload= "{\n" +
         " 'set-property' : { 'updateHandler.autoCommit.maxDocs':100, 'updateHandler.autoCommit.maxTime':10 } \n" +
         " }";

Modified: lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/handler/TestBlobHandler.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/handler/TestBlobHandler.java?rev=1650001&r1=1650000&r2=1650001&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/handler/TestBlobHandler.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/handler/TestBlobHandler.java Wed Jan  7 07:09:46 2015
@@ -87,7 +87,8 @@ public class TestBlobHandler extends Abs
     url = baseUrl + "/.system/blob/test/1";
     map = TestSolrConfigHandlerConcurrent.getAsMap(url,cloudClient);
     List l = (List) ConfigOverlay.getObjectByPath(map, false, Arrays.asList("response", "docs"));
-    assertNotNull(l);
+    assertNotNull(""+map, l);
+    assertTrue(""+map, l.size()>0);
     map = (Map) l.get(0);
     assertEquals(""+bytarr.length,String.valueOf(map.get("size")));