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/04/23 14:37:36 UTC

svn commit: r1675592 - in /lucene/dev/branches/branch_5x: ./ solr/ solr/core/ solr/core/src/java/org/apache/solr/core/ solr/core/src/test-files/solr/collection1/conf/ solr/core/src/test/org/apache/solr/core/

Author: noble
Date: Thu Apr 23 12:37:36 2015
New Revision: 1675592

URL: http://svn.apache.org/r1675592
Log:
SOLR-7157: initParams must support tags other than appends, defaults and invariants

Modified:
    lucene/dev/branches/branch_5x/   (props changed)
    lucene/dev/branches/branch_5x/solr/   (props changed)
    lucene/dev/branches/branch_5x/solr/CHANGES.txt   (contents, props changed)
    lucene/dev/branches/branch_5x/solr/core/   (props changed)
    lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/core/InitParams.java
    lucene/dev/branches/branch_5x/solr/core/src/test-files/solr/collection1/conf/solrconfig-paramset.xml
    lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/core/TestInitParams.java

Modified: lucene/dev/branches/branch_5x/solr/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/CHANGES.txt?rev=1675592&r1=1675591&r2=1675592&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/CHANGES.txt (original)
+++ lucene/dev/branches/branch_5x/solr/CHANGES.txt Thu Apr 23 12:37:36 2015
@@ -113,6 +113,9 @@ Bug Fixes
 * SOLR-7450: Fix edge case which could cause `bin/solr stop` to hang forever
   (Ramkumar Aiyengar)
 
+* SOLR-7157: initParams must support tags other than appends, defaults and, invariants (Noble Paul)
+
+
 Optimizations
 ----------------------
 

Modified: lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/core/InitParams.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/core/InitParams.java?rev=1675592&r1=1675591&r2=1675592&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/core/InitParams.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/java/org/apache/solr/core/InitParams.java Thu Apr 23 12:37:36 2015
@@ -23,6 +23,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
+import com.google.common.collect.ImmutableSet;
 import org.apache.solr.common.util.NamedList;
 import org.apache.solr.common.util.StrUtils;
 
@@ -40,8 +41,11 @@ public class InitParams {
   public final String name;
   public final Set<String> paths;
   public final NamedList defaults, invariants, appends;
+  private PluginInfo pluginInfo;
+  private final Set<String> KNOWN_KEYS = ImmutableSet.of(DEFAULTS, INVARIANTS, APPENDS);
 
   public InitParams(PluginInfo p) {
+    this.pluginInfo = p;
     this.name = p.attributes.get(NAME);
     Set<String> paths = null;
     String pathStr = p.attributes.get(PATH);
@@ -96,6 +100,16 @@ public class InitParams {
     }
     merge((NamedList) info.initArgs.get(INVARIANTS), invariants, info.initArgs, INVARIANTS, false);
     merge((NamedList) info.initArgs.get(APPENDS), appends, info.initArgs, APPENDS, true);
+
+    if (pluginInfo.initArgs != null) {
+      for (int i = 0; i < pluginInfo.initArgs.size(); i++) {
+        String name = pluginInfo.initArgs.getName(i);
+        if (KNOWN_KEYS.contains(name)) continue;//aready taken care of
+        Object val = info.initArgs.get(name);
+        if (val != null) continue; //this is explicitly specified in the reqhandler , ignore
+        info.initArgs.add(name, pluginInfo.initArgs.getVal(i));
+      }
+    }
   }
 
   private static void merge(NamedList first, NamedList second, NamedList sink, String name, boolean appends) {

Modified: lucene/dev/branches/branch_5x/solr/core/src/test-files/solr/collection1/conf/solrconfig-paramset.xml
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/test-files/solr/collection1/conf/solrconfig-paramset.xml?rev=1675592&r1=1675591&r2=1675592&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/test-files/solr/collection1/conf/solrconfig-paramset.xml (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/test-files/solr/collection1/conf/solrconfig-paramset.xml Thu Apr 23 12:37:36 2015
@@ -81,9 +81,9 @@
       <str>elevator</str>
     </arr>
   </requestHandler>
+  <requestHandler name="/dump7" class="DumpRequestHandler"/>
 
-
-
-
-
+  <initParams path="/dump7">
+    <str name="healthcheckFile">server-enabled.txt</str>
+  </initParams>
 </config>

Modified: lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/core/TestInitParams.java
URL: http://svn.apache.org/viewvc/lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/core/TestInitParams.java?rev=1675592&r1=1675591&r2=1675592&view=diff
==============================================================================
--- lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/core/TestInitParams.java (original)
+++ lucene/dev/branches/branch_5x/solr/core/src/test/org/apache/solr/core/TestInitParams.java Thu Apr 23 12:37:36 2015
@@ -108,6 +108,14 @@ public class TestInitParams extends Solr
 
   }
 
+  public void testArbitraryAttributes() {
+    SolrRequestHandler handler = h.getCore().getRequestHandler("/dump7");
+    SolrQueryResponse rsp = new SolrQueryResponse();
+    handler.handleRequest(req("initArgs", "true"), rsp);
+    NamedList nl = (NamedList) rsp.getValues().get("initArgs");
+    assertEquals("server-enabled.txt", nl.get("healthcheckFile"));
+  }
+
   public void testMatchPath(){
     InitParams initParams = new InitParams(new PluginInfo(InitParams.TYPE, ZkNodeProps.makeMap("path","/update/json/docs")));
     assertFalse(initParams.matchPath("/update"));