You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-commits@lucene.apache.org by eh...@apache.org on 2006/04/23 11:58:26 UTC
svn commit: r396247 - in /incubator/solr/trunk/src:
java/org/apache/solr/request/ test/org/apache/solr/
webapp/src/org/apache/solr/servlet/
Author: ehatcher
Date: Sun Apr 23 02:58:24 2006
New Revision: 396247
URL: http://svn.apache.org/viewcvs?rev=396247&view=rev
Log:
Add getParams to SolrQueryRequest to allow support for multiple same-named parameters in the same way the servlet request allows
Modified:
incubator/solr/trunk/src/java/org/apache/solr/request/LocalSolrQueryRequest.java
incubator/solr/trunk/src/java/org/apache/solr/request/SolrQueryRequest.java
incubator/solr/trunk/src/test/org/apache/solr/BasicFunctionalityTest.java
incubator/solr/trunk/src/webapp/src/org/apache/solr/servlet/SolrServletRequest.java
Modified: incubator/solr/trunk/src/java/org/apache/solr/request/LocalSolrQueryRequest.java
URL: http://svn.apache.org/viewcvs/incubator/solr/trunk/src/java/org/apache/solr/request/LocalSolrQueryRequest.java?rev=396247&r1=396246&r2=396247&view=diff
==============================================================================
--- incubator/solr/trunk/src/java/org/apache/solr/request/LocalSolrQueryRequest.java (original)
+++ incubator/solr/trunk/src/java/org/apache/solr/request/LocalSolrQueryRequest.java Sun Apr 23 02:58:24 2006
@@ -25,6 +25,8 @@
import java.util.Map;
import java.util.HashMap;
+import java.util.Arrays;
+import java.lang.reflect.Array;
/**
* @author yonik
@@ -67,7 +69,22 @@
public String getParam(String name) {
- return (String)args.get(name);
+ Object value = args.get(name);
+ if (value == null || value instanceof String) {
+ return (String) value;
+ }
+ else {
+ return ((String[]) value)[0];
+ }
+ }
+
+ public String[] getParams(String name) {
+ Object value = args.get(name);
+ if (value instanceof String) {
+ return new String[] {(String)value};
+ } else {
+ return (String[]) value;
+ }
}
public String getQueryString() {
Modified: incubator/solr/trunk/src/java/org/apache/solr/request/SolrQueryRequest.java
URL: http://svn.apache.org/viewcvs/incubator/solr/trunk/src/java/org/apache/solr/request/SolrQueryRequest.java?rev=396247&r1=396246&r2=396247&view=diff
==============================================================================
--- incubator/solr/trunk/src/java/org/apache/solr/request/SolrQueryRequest.java (original)
+++ incubator/solr/trunk/src/java/org/apache/solr/request/SolrQueryRequest.java Sun Apr 23 02:58:24 2006
@@ -31,6 +31,8 @@
public String getParam(String name);
+ public String[] getParams(String name);
+
public String getQueryString();
// signifies the syntax and the handler that should be used
Modified: incubator/solr/trunk/src/test/org/apache/solr/BasicFunctionalityTest.java
URL: http://svn.apache.org/viewcvs/incubator/solr/trunk/src/test/org/apache/solr/BasicFunctionalityTest.java?rev=396247&r1=396246&r2=396247&view=diff
==============================================================================
--- incubator/solr/trunk/src/test/org/apache/solr/BasicFunctionalityTest.java (original)
+++ incubator/solr/trunk/src/test/org/apache/solr/BasicFunctionalityTest.java Sun Apr 23 02:58:24 2006
@@ -26,6 +26,8 @@
import java.io.StringWriter;
import java.io.ByteArrayInputStream;
import java.io.UnsupportedEncodingException;
+import java.util.Map;
+import java.util.HashMap;
/**
* Tests some basic functionality of Solr while demonstrating good
@@ -160,6 +162,24 @@
DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
builder.parse(new ByteArrayInputStream
(writer.toString().getBytes("UTF-8")));
+ }
+
+ public void testLocalSolrQueryRequestParams() {
+ HashMap args = new HashMap();
+ args.put("string", "string value");
+ args.put("array", new String[] {"array", "value"});
+ SolrQueryRequest req = new LocalSolrQueryRequest(null, null, null, 0, 20, args);
+ assertEquals("string value", req.getParam("string"));
+ assertEquals("array", req.getParam("array"));
+
+ String[] stringParams = req.getParams("string");
+ assertEquals(1, stringParams.length);
+ assertEquals("string value", stringParams[0]);
+
+ String[] arrayParams = req.getParams("array");
+ assertEquals(2, arrayParams.length);
+ assertEquals("array", arrayParams[0]);
+ assertEquals("value", arrayParams[1]);
}
Modified: incubator/solr/trunk/src/webapp/src/org/apache/solr/servlet/SolrServletRequest.java
URL: http://svn.apache.org/viewcvs/incubator/solr/trunk/src/webapp/src/org/apache/solr/servlet/SolrServletRequest.java?rev=396247&r1=396246&r2=396247&view=diff
==============================================================================
--- incubator/solr/trunk/src/webapp/src/org/apache/solr/servlet/SolrServletRequest.java (original)
+++ incubator/solr/trunk/src/webapp/src/org/apache/solr/servlet/SolrServletRequest.java Sun Apr 23 02:58:24 2006
@@ -25,6 +25,10 @@
return req.getParameter(name);
}
+ public String[] getParams(String name) {
+ return req.getParameterValues(name);
+ }
+
public String getParamString() {
StringBuilder sb = new StringBuilder(128);