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"));