You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by ro...@apache.org on 2015/02/25 12:14:02 UTC
svn commit: r1662198 - in /lucene/dev/trunk/solr: ./
core/src/java/org/apache/solr/cloud/
core/src/java/org/apache/solr/handler/component/
core/src/java/org/apache/solr/schema/
solrj/src/java/org/apache/solr/client/solrj/
solrj/src/java/org/apache/solr...
Author: romseygeek
Date: Wed Feb 25 11:14:02 2015
New Revision: 1662198
URL: http://svn.apache.org/r1662198
Log:
SOLR-7145: SolrRequest is now parametrized by its response type
Modified:
lucene/dev/trunk/solr/CHANGES.txt
lucene/dev/trunk/solr/core/src/java/org/apache/solr/cloud/OverseerSolrResponse.java
lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/component/HttpShardHandler.java
lucene/dev/trunk/solr/core/src/java/org/apache/solr/schema/ManagedIndexSchema.java
lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/SolrRequest.java
lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/SolrResponse.java
lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/AbstractUpdateRequest.java
lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/CollectionAdminRequest.java
lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/CoreAdminRequest.java
lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/DirectXmlRequest.java
lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/DocumentAnalysisRequest.java
lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/FieldAnalysisRequest.java
lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/LukeRequest.java
lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/QueryRequest.java
lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/SolrPing.java
lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/UpdateRequest.java
lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/response/QueryResponse.java
Modified: lucene/dev/trunk/solr/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/CHANGES.txt?rev=1662198&r1=1662197&r2=1662198&view=diff
==============================================================================
--- lucene/dev/trunk/solr/CHANGES.txt (original)
+++ lucene/dev/trunk/solr/CHANGES.txt Wed Feb 25 11:14:02 2015
@@ -186,6 +186,9 @@ Other Changes
* SOLR-7032: Clean up test remnants of old-style solr.xml (Erick Erickson)
+* SOLR-7145: SolrRequest is now parametrized by its response type (Alan
+ Woodward)
+
* SOLR-7142: Fix TestFaceting.testFacets. (Michal Kroliczek via shalin)
* SOLR-7156: Fix test failures due to resource leaks on windows.
Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/cloud/OverseerSolrResponse.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/cloud/OverseerSolrResponse.java?rev=1662198&r1=1662197&r2=1662198&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/cloud/OverseerSolrResponse.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/cloud/OverseerSolrResponse.java Wed Feb 25 11:14:02 2015
@@ -23,6 +23,8 @@ import org.apache.solr.common.util.Named
public class OverseerSolrResponse extends SolrResponse {
NamedList responseList = null;
+
+ private long elapsedTime;
public OverseerSolrResponse(NamedList list) {
responseList = list;
@@ -30,15 +32,19 @@ public class OverseerSolrResponse extend
@Override
public long getElapsedTime() {
- // TODO Auto-generated method stub
- return 0;
+ return elapsedTime;
}
@Override
public void setResponse(NamedList<Object> rsp) {
this.responseList = rsp;
}
-
+
+ @Override
+ public void setElapsedTime(long elapsedTime) {
+ this.elapsedTime = elapsedTime;
+ }
+
@Override
public NamedList<Object> getResponse() {
return responseList;
Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/component/HttpShardHandler.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/component/HttpShardHandler.java?rev=1662198&r1=1662197&r2=1662198&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/component/HttpShardHandler.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/handler/component/HttpShardHandler.java Wed Feb 25 11:14:02 2015
@@ -85,7 +85,9 @@ public class HttpShardHandler extends Sh
private static class SimpleSolrResponse extends SolrResponse {
+
long elapsedTime;
+
NamedList<Object> nl;
@Override
@@ -102,6 +104,11 @@ public class HttpShardHandler extends Sh
public void setResponse(NamedList<Object> rsp) {
nl = rsp;
}
+
+ @Override
+ public void setElapsedTime(long elapsedTime) {
+ this.elapsedTime = elapsedTime;
+ }
}
Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/schema/ManagedIndexSchema.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/schema/ManagedIndexSchema.java?rev=1662198&r1=1662197&r2=1662198&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/schema/ManagedIndexSchema.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/schema/ManagedIndexSchema.java Wed Feb 25 11:14:02 2015
@@ -26,7 +26,6 @@ import org.apache.solr.analysis.Tokenize
import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.SolrRequest;
import org.apache.solr.client.solrj.SolrResponse;
-import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.impl.HttpSolrClient;
import org.apache.solr.cloud.ZkController;
import org.apache.solr.cloud.ZkSolrResourceLoader;
@@ -363,9 +362,10 @@ public final class ManagedIndexSchema ex
}
@Override
- public SolrResponse process(SolrClient server) throws SolrServerException, IOException {
+ protected SolrResponse createResponse(SolrClient client) {
return null;
}
+
}
Modified: lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/SolrRequest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/SolrRequest.java?rev=1662198&r1=1662197&r2=1662198&view=diff
==============================================================================
--- lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/SolrRequest.java (original)
+++ lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/SolrRequest.java Wed Feb 25 11:14:02 2015
@@ -17,21 +17,22 @@
package org.apache.solr.client.solrj;
+import org.apache.solr.common.params.SolrParams;
+import org.apache.solr.common.util.ContentStream;
+
import java.io.IOException;
import java.io.Serializable;
import java.util.Collection;
import java.util.Set;
-
-import org.apache.solr.common.params.SolrParams;
-import org.apache.solr.common.util.ContentStream;
+import java.util.concurrent.TimeUnit;
/**
*
*
* @since solr 1.3
*/
-public abstract class SolrRequest implements Serializable
-{
+public abstract class SolrRequest<T extends SolrResponse> implements Serializable {
+
public enum METHOD {
GET,
POST,
@@ -108,6 +109,29 @@ public abstract class SolrRequest implem
}
public abstract SolrParams getParams();
+
public abstract Collection<ContentStream> getContentStreams() throws IOException;
- public abstract SolrResponse process( SolrClient server ) throws SolrServerException, IOException;
+
+ /**
+ * Create a new SolrResponse to hold the response from the server
+ * @param client the {@link SolrClient} the request will be sent to
+ */
+ protected abstract T createResponse(SolrClient client);
+
+ /**
+ * Send this request to a {@link SolrClient} and return the response
+ * @param client the SolrClient to communicate with
+ * @return the response
+ * @throws SolrServerException if there is an error on the Solr server
+ * @throws IOException if there is a communication error
+ */
+ public T process(SolrClient client) throws SolrServerException, IOException {
+ long startTime = TimeUnit.MILLISECONDS.convert(System.nanoTime(), TimeUnit.NANOSECONDS);
+ T res = createResponse(client);
+ res.setResponse(client.request(this));
+ long endTime = TimeUnit.MILLISECONDS.convert(System.nanoTime(), TimeUnit.NANOSECONDS);
+ res.setElapsedTime(endTime - startTime);
+ return res;
+ }
+
}
Modified: lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/SolrResponse.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/SolrResponse.java?rev=1662198&r1=1662197&r2=1662198&view=diff
==============================================================================
--- lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/SolrResponse.java (original)
+++ lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/SolrResponse.java Wed Feb 25 11:14:02 2015
@@ -17,16 +17,16 @@
package org.apache.solr.client.solrj;
+import org.apache.solr.common.SolrException;
+import org.apache.solr.common.SolrException.ErrorCode;
+import org.apache.solr.common.util.NamedList;
+
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
-import org.apache.solr.common.SolrException;
-import org.apache.solr.common.SolrException.ErrorCode;
-import org.apache.solr.common.util.NamedList;
-
/**
*
@@ -37,6 +37,8 @@ public abstract class SolrResponse imple
public abstract long getElapsedTime();
public abstract void setResponse(NamedList<Object> rsp);
+
+ public abstract void setElapsedTime(long elapsedTime);
public abstract NamedList<Object> getResponse();
Modified: lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/AbstractUpdateRequest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/AbstractUpdateRequest.java?rev=1662198&r1=1662197&r2=1662198&view=diff
==============================================================================
--- lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/AbstractUpdateRequest.java (original)
+++ lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/AbstractUpdateRequest.java Wed Feb 25 11:14:02 2015
@@ -16,22 +16,18 @@ package org.apache.solr.client.solrj.req
* limitations under the License.
*/
-import org.apache.solr.client.solrj.SolrRequest;
import org.apache.solr.client.solrj.SolrClient;
-import org.apache.solr.client.solrj.SolrServerException;
+import org.apache.solr.client.solrj.SolrRequest;
import org.apache.solr.client.solrj.response.UpdateResponse;
import org.apache.solr.common.params.ModifiableSolrParams;
import org.apache.solr.common.params.UpdateParams;
-import java.io.IOException;
-import java.util.concurrent.TimeUnit;
-
/**
*
*
**/
-public abstract class AbstractUpdateRequest extends SolrRequest implements IsUpdateRequest {
+public abstract class AbstractUpdateRequest extends SolrRequest<UpdateResponse> implements IsUpdateRequest {
protected ModifiableSolrParams params;
protected int commitWithin = -1;
@@ -117,14 +113,8 @@ public abstract class AbstractUpdateRequ
}
@Override
- public UpdateResponse process(SolrClient client) throws SolrServerException, IOException
- {
- long startTime = TimeUnit.MILLISECONDS.convert(System.nanoTime(), TimeUnit.NANOSECONDS);
- UpdateResponse res = new UpdateResponse();
- res.setResponse(client.request(this));
- long endTime = TimeUnit.MILLISECONDS.convert(System.nanoTime(), TimeUnit.NANOSECONDS);
- res.setElapsedTime(endTime - startTime);
- return res;
+ protected UpdateResponse createResponse(SolrClient client) {
+ return new UpdateResponse();
}
public boolean isWaitSearcher() {
Modified: lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/CollectionAdminRequest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/CollectionAdminRequest.java?rev=1662198&r1=1662197&r2=1662198&view=diff
==============================================================================
--- lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/CollectionAdminRequest.java (original)
+++ lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/CollectionAdminRequest.java Wed Feb 25 11:14:02 2015
@@ -17,9 +17,8 @@
package org.apache.solr.client.solrj.request;
-import org.apache.solr.client.solrj.SolrRequest;
import org.apache.solr.client.solrj.SolrClient;
-import org.apache.solr.client.solrj.SolrServerException;
+import org.apache.solr.client.solrj.SolrRequest;
import org.apache.solr.client.solrj.response.CollectionAdminResponse;
import org.apache.solr.common.SolrException;
import org.apache.solr.common.cloud.DocCollection;
@@ -36,14 +35,14 @@ import java.util.Collection;
import java.util.Iterator;
import java.util.Map;
import java.util.Properties;
-import java.util.concurrent.TimeUnit;
/**
* This class is experimental and subject to change.
*
* @since solr 4.5
*/
-public class CollectionAdminRequest extends SolrRequest {
+public class CollectionAdminRequest extends SolrRequest<CollectionAdminResponse> {
+
protected CollectionAction action = null;
private static String PROPERTY_PREFIX = "property.";
@@ -78,14 +77,8 @@ public class CollectionAdminRequest exte
}
@Override
- public CollectionAdminResponse process(SolrClient server) throws SolrServerException, IOException
- {
- long startTime = TimeUnit.MILLISECONDS.convert(System.nanoTime(), TimeUnit.NANOSECONDS);
- CollectionAdminResponse res = new CollectionAdminResponse();
- res.setResponse( server.request( this ) );
- long endTime = TimeUnit.MILLISECONDS.convert(System.nanoTime(), TimeUnit.NANOSECONDS);
- res.setElapsedTime(endTime - startTime);
- return res;
+ protected CollectionAdminResponse createResponse(SolrClient client) {
+ return new CollectionAdminResponse();
}
protected void addProperties(ModifiableSolrParams params, Properties props) {
Modified: lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/CoreAdminRequest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/CoreAdminRequest.java?rev=1662198&r1=1662197&r2=1662198&view=diff
==============================================================================
--- lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/CoreAdminRequest.java (original)
+++ lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/CoreAdminRequest.java Wed Feb 25 11:14:02 2015
@@ -17,8 +17,8 @@
package org.apache.solr.client.solrj.request;
-import org.apache.solr.client.solrj.SolrRequest;
import org.apache.solr.client.solrj.SolrClient;
+import org.apache.solr.client.solrj.SolrRequest;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.response.CoreAdminResponse;
import org.apache.solr.common.cloud.ZkStateReader;
@@ -32,15 +32,14 @@ import java.io.IOException;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
-import java.util.concurrent.TimeUnit;
/**
* This class is experimental and subject to change.
*
* @since solr 1.3
*/
-public class CoreAdminRequest extends SolrRequest
-{
+public class CoreAdminRequest extends SolrRequest<CoreAdminResponse> {
+
protected String core = null;
protected String other = null;
protected boolean isIndexInfoNeeded = true;
@@ -48,6 +47,7 @@ public class CoreAdminRequest extends So
//a create core request
public static class Create extends CoreAdminRequest {
+
protected String instanceDir;
protected String configName = null;
protected String schemaName = null;
@@ -503,14 +503,8 @@ public class CoreAdminRequest extends So
}
@Override
- public CoreAdminResponse process(SolrClient client) throws SolrServerException, IOException
- {
- long startTime = TimeUnit.MILLISECONDS.convert(System.nanoTime(), TimeUnit.NANOSECONDS);
- CoreAdminResponse res = new CoreAdminResponse();
- res.setResponse(client.request(this));
- long endTime = TimeUnit.MILLISECONDS.convert(System.nanoTime(), TimeUnit.NANOSECONDS);
- res.setElapsedTime(endTime - startTime);
- return res;
+ protected CoreAdminResponse createResponse(SolrClient client) {
+ return new CoreAdminResponse();
}
//---------------------------------------------------------------------------------------
Modified: lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/DirectXmlRequest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/DirectXmlRequest.java?rev=1662198&r1=1662197&r2=1662198&view=diff
==============================================================================
--- lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/DirectXmlRequest.java (original)
+++ lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/DirectXmlRequest.java Wed Feb 25 11:14:02 2015
@@ -19,15 +19,12 @@ package org.apache.solr.client.solrj.req
import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.SolrRequest;
-import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.response.UpdateResponse;
import org.apache.solr.client.solrj.util.ClientUtils;
import org.apache.solr.common.params.SolrParams;
import org.apache.solr.common.util.ContentStream;
-import java.io.IOException;
import java.util.Collection;
-import java.util.concurrent.TimeUnit;
/**
* Send arbitrary XML to a request handler
@@ -35,8 +32,8 @@ import java.util.concurrent.TimeUnit;
*
* @since solr 1.3
*/
-public class DirectXmlRequest extends SolrRequest implements IsUpdateRequest
-{
+public class DirectXmlRequest extends SolrRequest<UpdateResponse> implements IsUpdateRequest {
+
final String xml;
private SolrParams params;
@@ -52,6 +49,11 @@ public class DirectXmlRequest extends So
}
@Override
+ protected UpdateResponse createResponse(SolrClient client) {
+ return new UpdateResponse();
+ }
+
+ @Override
public SolrParams getParams() {
return params;
}
@@ -61,13 +63,4 @@ public class DirectXmlRequest extends So
this.params = params;
}
- @Override
- public UpdateResponse process(SolrClient client) throws SolrServerException, IOException
- {
- long startTime = TimeUnit.MILLISECONDS.convert(System.nanoTime(), TimeUnit.NANOSECONDS);
- UpdateResponse res = new UpdateResponse();
- res.setResponse(client.request(this));
- res.setElapsedTime( TimeUnit.MILLISECONDS.convert(System.nanoTime()-startTime, TimeUnit.NANOSECONDS) );
- return res;
- }
}
Modified: lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/DocumentAnalysisRequest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/DocumentAnalysisRequest.java?rev=1662198&r1=1662197&r2=1662198&view=diff
==============================================================================
--- lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/DocumentAnalysisRequest.java (original)
+++ lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/DocumentAnalysisRequest.java Wed Feb 25 11:14:02 2015
@@ -17,9 +17,8 @@
package org.apache.solr.client.solrj.request;
-import org.apache.solr.client.solrj.SolrRequest;
import org.apache.solr.client.solrj.SolrClient;
-import org.apache.solr.client.solrj.SolrServerException;
+import org.apache.solr.client.solrj.SolrRequest;
import org.apache.solr.client.solrj.response.DocumentAnalysisResponse;
import org.apache.solr.client.solrj.util.ClientUtils;
import org.apache.solr.common.SolrInputDocument;
@@ -32,7 +31,6 @@ import java.io.StringWriter;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
-import java.util.concurrent.TimeUnit;
/**
* A request for the org.apache.solr.handler.DocumentAnalysisRequestHandler.
@@ -40,7 +38,7 @@ import java.util.concurrent.TimeUnit;
*
* @since solr 1.4
*/
-public class DocumentAnalysisRequest extends SolrRequest {
+public class DocumentAnalysisRequest extends SolrRequest<DocumentAnalysisResponse> {
private List<SolrInputDocument> documents = new ArrayList<>();
private String query;
@@ -70,6 +68,11 @@ public class DocumentAnalysisRequest ext
return ClientUtils.toContentStreams(getXML(), ClientUtils.TEXT_XML);
}
+ @Override
+ protected DocumentAnalysisResponse createResponse(SolrClient client) {
+ return new DocumentAnalysisResponse();
+ }
+
/**
* {@inheritDoc}
*/
@@ -83,19 +86,6 @@ public class DocumentAnalysisRequest ext
return params;
}
- /**
- * {@inheritDoc}
- */
- @Override
- public DocumentAnalysisResponse process(SolrClient client) throws SolrServerException, IOException {
- long startTime = TimeUnit.MILLISECONDS.convert(System.nanoTime(), TimeUnit.NANOSECONDS);
- DocumentAnalysisResponse res = new DocumentAnalysisResponse();
- res.setResponse(client.request(this));
- long endTime = TimeUnit.MILLISECONDS.convert(System.nanoTime(), TimeUnit.NANOSECONDS);
- res.setElapsedTime(endTime - startTime);
- return res;
- }
-
//================================================ Helper Methods ==================================================
/**
Modified: lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/FieldAnalysisRequest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/FieldAnalysisRequest.java?rev=1662198&r1=1662197&r2=1662198&view=diff
==============================================================================
--- lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/FieldAnalysisRequest.java (original)
+++ lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/FieldAnalysisRequest.java Wed Feb 25 11:14:02 2015
@@ -17,9 +17,8 @@
package org.apache.solr.client.solrj.request;
-import org.apache.solr.client.solrj.SolrRequest;
import org.apache.solr.client.solrj.SolrClient;
-import org.apache.solr.client.solrj.SolrServerException;
+import org.apache.solr.client.solrj.SolrRequest;
import org.apache.solr.client.solrj.response.FieldAnalysisResponse;
import org.apache.solr.common.params.AnalysisParams;
import org.apache.solr.common.params.ModifiableSolrParams;
@@ -30,7 +29,6 @@ import java.io.IOException;
import java.util.Collection;
import java.util.LinkedList;
import java.util.List;
-import java.util.concurrent.TimeUnit;
/**
* A request for the org.apache.solr.handler.FieldAnalysisRequestHandler.
@@ -38,7 +36,7 @@ import java.util.concurrent.TimeUnit;
*
* @since solr.14
*/
-public class FieldAnalysisRequest extends SolrRequest {
+public class FieldAnalysisRequest extends SolrRequest<FieldAnalysisResponse> {
private String fieldValue;
private String query;
@@ -70,6 +68,17 @@ public class FieldAnalysisRequest extend
return null;
}
+ @Override
+ protected FieldAnalysisResponse createResponse(SolrClient client) {
+ if (fieldTypes == null && fieldNames == null) {
+ throw new IllegalStateException("At least one field type or field name need to be specified");
+ }
+ if (fieldValue == null) {
+ throw new IllegalStateException("The field value must be set");
+ }
+ return new FieldAnalysisResponse();
+ }
+
/**
* {@inheritDoc}
*/
@@ -92,26 +101,6 @@ public class FieldAnalysisRequest extend
return params;
}
- /**
- * {@inheritDoc}
- */
- @Override
- public FieldAnalysisResponse process(SolrClient server) throws SolrServerException, IOException {
- if (fieldTypes == null && fieldNames == null) {
- throw new IllegalStateException("At least one field type or field name need to be specified");
- }
- if (fieldValue == null) {
- throw new IllegalStateException("The field value must be set");
- }
- long startTime = TimeUnit.MILLISECONDS.convert(System.nanoTime(), TimeUnit.NANOSECONDS);
- FieldAnalysisResponse res = new FieldAnalysisResponse();
- res.setResponse(server.request(this));
- long endTime = TimeUnit.MILLISECONDS.convert(System.nanoTime(), TimeUnit.NANOSECONDS);
- res.setElapsedTime(endTime - startTime);
- return res;
- }
-
-
//================================================ Helper Methods ==================================================
/**
Modified: lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/LukeRequest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/LukeRequest.java?rev=1662198&r1=1662197&r2=1662198&view=diff
==============================================================================
--- lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/LukeRequest.java (original)
+++ lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/LukeRequest.java Wed Feb 25 11:14:02 2015
@@ -19,26 +19,23 @@ package org.apache.solr.client.solrj.req
import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.SolrRequest;
-import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.response.LukeResponse;
import org.apache.solr.common.params.CommonParams;
import org.apache.solr.common.params.ModifiableSolrParams;
import org.apache.solr.common.params.SolrParams;
import org.apache.solr.common.util.ContentStream;
-import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
-import java.util.concurrent.TimeUnit;
/**
*
*
* @since solr 1.3
*/
-public class LukeRequest extends SolrRequest
-{
+public class LukeRequest extends SolrRequest<LukeResponse> {
+
private List<String> fields;
private int numTerms = -1;
private boolean showSchema = false;
@@ -100,6 +97,11 @@ public class LukeRequest extends SolrReq
}
@Override
+ protected LukeResponse createResponse(SolrClient client) {
+ return new LukeResponse();
+ }
+
+ @Override
public SolrParams getParams() {
ModifiableSolrParams params = new ModifiableSolrParams();
if( fields != null && fields.size() > 0 ) {
@@ -114,15 +116,5 @@ public class LukeRequest extends SolrReq
return params;
}
- @Override
- public LukeResponse process( SolrClient client ) throws SolrServerException, IOException
- {
- long startTime = TimeUnit.MILLISECONDS.convert(System.nanoTime(), TimeUnit.NANOSECONDS);
- LukeResponse res = new LukeResponse();
- res.setResponse(client.request(this));
- long endTime = TimeUnit.MILLISECONDS.convert(System.nanoTime(), TimeUnit.NANOSECONDS);
- res.setElapsedTime(endTime - startTime);
- return res;
- }
}
Modified: lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/QueryRequest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/QueryRequest.java?rev=1662198&r1=1662197&r2=1662198&view=diff
==============================================================================
--- lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/QueryRequest.java (original)
+++ lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/QueryRequest.java Wed Feb 25 11:14:02 2015
@@ -17,15 +17,15 @@
package org.apache.solr.client.solrj.request;
-import org.apache.solr.client.solrj.SolrRequest;
import org.apache.solr.client.solrj.SolrClient;
+import org.apache.solr.client.solrj.SolrRequest;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.response.QueryResponse;
-import org.apache.solr.common.SolrException;
import org.apache.solr.common.params.CommonParams;
import org.apache.solr.common.params.SolrParams;
import org.apache.solr.common.util.ContentStream;
+import java.io.IOException;
import java.util.Collection;
import java.util.concurrent.TimeUnit;
@@ -34,8 +34,8 @@ import java.util.concurrent.TimeUnit;
*
* @since solr 1.3
*/
-public class QueryRequest extends SolrRequest
-{
+public class QueryRequest extends SolrRequest<QueryResponse> {
+
private SolrParams query;
public QueryRequest()
@@ -79,24 +79,34 @@ public class QueryRequest extends SolrRe
}
@Override
- public SolrParams getParams() {
- return query;
+ protected QueryResponse createResponse(SolrClient client) {
+ return new QueryResponse(client);
}
+ /**
+ * Send this request to a {@link SolrClient} and return the response
+ * @param client the SolrClient to communicate with
+ * @return the response
+ * @throws org.apache.solr.client.solrj.SolrServerException if there is an error on the Solr server
+ */
@Override
- public QueryResponse process( SolrClient client ) throws SolrServerException
- {
+ public QueryResponse process(SolrClient client) throws SolrServerException {
+ long startTime = TimeUnit.MILLISECONDS.convert(System.nanoTime(), TimeUnit.NANOSECONDS);
+ QueryResponse res = createResponse(client);
try {
- long startTime = TimeUnit.MILLISECONDS.convert(System.nanoTime(), TimeUnit.NANOSECONDS);
- QueryResponse res = new QueryResponse( client.request( this ), client );
- long endTime = TimeUnit.MILLISECONDS.convert(System.nanoTime(), TimeUnit.NANOSECONDS);
- res.setElapsedTime(endTime - startTime);
- return res;
- } catch (SolrServerException | SolrException e){
- throw e;
- } catch (Exception e) {
+ res.setResponse(client.request(this));
+ } catch (IOException e) {
throw new SolrServerException("Error executing query", e);
}
+ long endTime = TimeUnit.MILLISECONDS.convert(System.nanoTime(), TimeUnit.NANOSECONDS);
+ res.setElapsedTime(endTime - startTime);
+ return res;
}
+
+ @Override
+ public SolrParams getParams() {
+ return query;
+ }
+
}
Modified: lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/SolrPing.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/SolrPing.java?rev=1662198&r1=1662197&r2=1662198&view=diff
==============================================================================
--- lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/SolrPing.java (original)
+++ lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/SolrPing.java Wed Feb 25 11:14:02 2015
@@ -19,15 +19,12 @@ package org.apache.solr.client.solrj.req
import org.apache.solr.client.solrj.SolrClient;
import org.apache.solr.client.solrj.SolrRequest;
-import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.response.SolrPingResponse;
import org.apache.solr.common.params.CommonParams;
import org.apache.solr.common.params.ModifiableSolrParams;
import org.apache.solr.common.util.ContentStream;
-import java.io.IOException;
import java.util.Collection;
-import java.util.concurrent.TimeUnit;
/**
* Verify that there is a working Solr core at the URL of a {@link org.apache.solr.client.solrj.SolrClient}.
@@ -36,7 +33,7 @@ import java.util.concurrent.TimeUnit;
*
* @since solr 1.3
*/
-public class SolrPing extends SolrRequest {
+public class SolrPing extends SolrRequest<SolrPingResponse> {
/** serialVersionUID. */
private static final long serialVersionUID = 5828246236669090017L;
@@ -56,21 +53,15 @@ public class SolrPing extends SolrReques
public Collection<ContentStream> getContentStreams() {
return null;
}
-
+
@Override
- public ModifiableSolrParams getParams() {
- return params;
+ protected SolrPingResponse createResponse(SolrClient client) {
+ return new SolrPingResponse();
}
-
+
@Override
- public SolrPingResponse process(SolrClient client)
- throws SolrServerException, IOException {
- long startTime = TimeUnit.MILLISECONDS.convert(System.nanoTime(), TimeUnit.NANOSECONDS);
- SolrPingResponse res = new SolrPingResponse();
- res.setResponse(client.request(this));
- long endTime = TimeUnit.MILLISECONDS.convert(System.nanoTime(), TimeUnit.NANOSECONDS);
- res.setElapsedTime(endTime - startTime);
- return res;
+ public ModifiableSolrParams getParams() {
+ return params;
}
/**
Modified: lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/UpdateRequest.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/UpdateRequest.java?rev=1662198&r1=1662197&r2=1662198&view=diff
==============================================================================
--- lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/UpdateRequest.java (original)
+++ lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/request/UpdateRequest.java Wed Feb 25 11:14:02 2015
@@ -17,6 +17,16 @@
package org.apache.solr.client.solrj.request;
+import org.apache.solr.client.solrj.impl.LBHttpSolrClient;
+import org.apache.solr.client.solrj.util.ClientUtils;
+import org.apache.solr.common.SolrInputDocument;
+import org.apache.solr.common.cloud.DocCollection;
+import org.apache.solr.common.cloud.DocRouter;
+import org.apache.solr.common.cloud.Slice;
+import org.apache.solr.common.params.ModifiableSolrParams;
+import org.apache.solr.common.util.ContentStream;
+import org.apache.solr.common.util.XML;
+
import java.io.IOException;
import java.io.StringWriter;
import java.io.Writer;
@@ -24,21 +34,11 @@ import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.Iterator;
+import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
-import java.util.LinkedHashMap;
-
-import org.apache.solr.client.solrj.impl.LBHttpSolrClient;
-import org.apache.solr.client.solrj.util.ClientUtils;
-import org.apache.solr.common.SolrInputDocument;
-import org.apache.solr.common.cloud.DocCollection;
-import org.apache.solr.common.cloud.DocRouter;
-import org.apache.solr.common.cloud.Slice;
-import org.apache.solr.common.params.ModifiableSolrParams;
-import org.apache.solr.common.util.ContentStream;
-import org.apache.solr.common.util.XML;
/**
*
@@ -46,6 +46,7 @@ import org.apache.solr.common.util.XML;
* @since solr 1.3
*/
public class UpdateRequest extends AbstractUpdateRequest {
+
public static final String REPFACT = "rf";
public static final String MIN_REPFACT = "min_rf";
public static final String VER = "ver";
Modified: lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/response/QueryResponse.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/response/QueryResponse.java?rev=1662198&r1=1662197&r2=1662198&view=diff
==============================================================================
--- lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/response/QueryResponse.java (original)
+++ lucene/dev/trunk/solr/solrj/src/java/org/apache/solr/client/solrj/response/QueryResponse.java Wed Feb 25 11:14:02 2015
@@ -17,6 +17,13 @@
package org.apache.solr.client.solrj.response;
+import org.apache.solr.client.solrj.SolrClient;
+import org.apache.solr.client.solrj.beans.DocumentObjectBinder;
+import org.apache.solr.common.SolrDocumentList;
+import org.apache.solr.common.params.CursorMarkParams;
+import org.apache.solr.common.util.NamedList;
+import org.apache.solr.common.util.SimpleOrderedMap;
+
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
@@ -25,13 +32,6 @@ import java.util.List;
import java.util.Map;
import java.util.TreeMap;
-import org.apache.solr.client.solrj.SolrClient;
-import org.apache.solr.client.solrj.beans.DocumentObjectBinder;
-import org.apache.solr.common.SolrDocumentList;
-import org.apache.solr.common.params.CursorMarkParams;
-import org.apache.solr.common.util.NamedList;
-import org.apache.solr.common.util.SimpleOrderedMap;
-
/**
*
*
@@ -99,6 +99,10 @@ public class QueryResponse extends SolrR
this.solrClient = solrClient;
}
+ public QueryResponse(SolrClient solrClient) {
+ this.solrClient = solrClient;
+ }
+
@Override
public void setResponse( NamedList<Object> res )
{