Author: ryan
Date: Wed Jan 23 11:31:31 2008
New Revision: 614633
URL: http://svn.apache.org/viewvc?rev=614633&view=rev
Log:
SOLR-436: To make future changes easier, SolrServer changed from an interface
to an abstract super class.
Removed:
lucene/solr/trunk/client/java/solrj/src/org/apache/solr/client/solrj/impl/BaseSolrServer.java
Modified:
lucene/solr/trunk/client/java/solrj/CHANGES.txt
lucene/solr/trunk/client/java/solrj/src/org/apache/solr/client/solrj/SolrServer.java
lucene/solr/trunk/client/java/solrj/src/org/apache/solr/client/solrj/embedded/EmbeddedSolrServer.java
lucene/solr/trunk/client/java/solrj/src/org/apache/solr/client/solrj/impl/CommonsHttpSolrServer.java
Modified: lucene/solr/trunk/client/java/solrj/CHANGES.txt
URL:
http://svn.apache.org/viewvc/lucene/solr/trunk/client/java/solrj/CHANGES.txt?rev=614633&r1=614632&r2=614633&view=diff
==============================================================================
--- lucene/solr/trunk/client/java/solrj/CHANGES.txt (original)
+++ lucene/solr/trunk/client/java/solrj/CHANGES.txt Wed Jan 23 11:31:31 2008
@@ -36,6 +36,9 @@
creating a new HttpClient on each request. If your existing code
overrides
getHttpConnection(), you will now need to override createHttpClient()
(Sean Timm via ryan)
+
+ 4. SOLR-436: To make future changes easier, SolrServer changed from an
+ interface to an abstract super class. (ryan)
Bug Fixes
Modified:
lucene/solr/trunk/client/java/solrj/src/org/apache/solr/client/solrj/SolrServer.java
URL:
http://svn.apache.org/viewvc/lucene/solr/trunk/client/java/solrj/src/org/apache/solr/client/solrj/SolrServer.java?rev=614633&r1=614632&r2=614633&view=diff
==============================================================================
---
lucene/solr/trunk/client/java/solrj/src/org/apache/solr/client/solrj/SolrServer.java
(original)
+++
lucene/solr/trunk/client/java/solrj/src/org/apache/solr/client/solrj/SolrServer.java
Wed Jan 23 11:31:31 2008
@@ -20,6 +20,9 @@
import java.io.IOException;
import java.util.Collection;
+import org.apache.solr.client.solrj.request.QueryRequest;
+import org.apache.solr.client.solrj.request.SolrPing;
+import org.apache.solr.client.solrj.request.UpdateRequest;
import org.apache.solr.client.solrj.response.QueryResponse;
import org.apache.solr.client.solrj.response.SolrPingResponse;
import org.apache.solr.client.solrj.response.UpdateResponse;
@@ -28,29 +31,83 @@
import org.apache.solr.common.util.NamedList;
/**
- *
* @version $Id$
* @since solr 1.3
*/
-public interface SolrServer
+public abstract class SolrServer
{
- // A general method to allow various methods
- NamedList<Object> request( final SolrRequest request ) throws
SolrServerException, IOException;
+ protected String defaultCore = null;
- void setDefaultCore( String core );
- String getDefaultCore();
+ public UpdateResponse add(Collection<SolrInputDocument> docs, boolean
overwrite ) throws SolrServerException, IOException {
+ UpdateRequest req = new UpdateRequest();
+ req.add(docs);
+ req.setOverwrite(overwrite);
+ return req.process(this);
+ }
+
+ public UpdateResponse add(SolrInputDocument doc, boolean overwrite ) throws
SolrServerException, IOException {
+ UpdateRequest req = new UpdateRequest();
+ req.add(doc);
+ req.setOverwrite(overwrite);
+ return req.process(this);
+ }
+
+ public UpdateResponse add(SolrInputDocument doc) throws SolrServerException,
IOException {
+ return add(doc, true);
+ }
+
+ public UpdateResponse add(Collection<SolrInputDocument> docs) throws
SolrServerException, IOException {
+ return add(docs, true);
+ }
+
+ /** waitFlush=true and waitSearcher=true to be inline with the defaults for
plain HTTP access
+ * @throws IOException
+ */
+ public UpdateResponse commit( ) throws SolrServerException, IOException {
+ return commit(true, true);
+ }
+
+ /** waitFlush=true and waitSearcher=true to be inline with the defaults for
plain HTTP access
+ * @throws IOException
+ */
+ public UpdateResponse optimize( ) throws SolrServerException, IOException {
+ return optimize(true, true);
+ }
+
+ public UpdateResponse commit( boolean waitFlush, boolean waitSearcher )
throws SolrServerException, IOException {
+ return new UpdateRequest().setAction( UpdateRequest.ACTION.COMMIT,
waitFlush, waitSearcher ).process( this );
+ }
+
+ public UpdateResponse optimize( boolean waitFlush, boolean waitSearcher )
throws SolrServerException, IOException {
+ return new UpdateRequest().setAction( UpdateRequest.ACTION.OPTIMIZE,
waitFlush, waitSearcher ).process( this );
+ }
+
+ public UpdateResponse deleteById(String id) throws SolrServerException,
IOException {
+ return new UpdateRequest().deleteById( id ).process( this );
+ }
+
+ public UpdateResponse deleteByQuery(String query) throws
SolrServerException, IOException {
+ return new UpdateRequest().deleteByQuery( query ).process( this );
+ }
+
+ public SolrPingResponse ping() throws SolrServerException, IOException {
+ return new SolrPing().process( this );
+ }
+
+ public QueryResponse query(SolrParams params) throws SolrServerException {
+ return new QueryRequest( params ).process( this );
+ }
+
+ public String getDefaultCore() {
+ return defaultCore;
+ }
+
+ public void setDefaultCore(String defaultCore) {
+ this.defaultCore = defaultCore;
+ }
- // Standard methods
- UpdateResponse add( SolrInputDocument doc ) throws SolrServerException,
IOException;
- UpdateResponse add( Collection<SolrInputDocument> docs ) throws
SolrServerException, IOException;
- UpdateResponse add( SolrInputDocument doc, boolean overwrite ) throws
SolrServerException, IOException;
- UpdateResponse add( Collection<SolrInputDocument> docs, boolean overwrite )
throws SolrServerException, IOException;
- UpdateResponse deleteById( String id ) throws SolrServerException,
IOException;
- UpdateResponse deleteByQuery( String query ) throws SolrServerException,
IOException;
- UpdateResponse commit( boolean waitFlush, boolean waitSearcher ) throws
SolrServerException, IOException;
- UpdateResponse optimize( boolean waitFlush, boolean waitSearcher ) throws
SolrServerException, IOException;
- UpdateResponse commit( ) throws SolrServerException, IOException;
- UpdateResponse optimize( ) throws SolrServerException, IOException;
- QueryResponse query( SolrParams params ) throws SolrServerException,
IOException;
- SolrPingResponse ping() throws SolrServerException, IOException;
+ /**
+ * SolrServer implementations need to implement a how a request is actually
processed
+ */
+ public abstract NamedList<Object> request( final SolrRequest request )
throws SolrServerException, IOException;
}
Modified:
lucene/solr/trunk/client/java/solrj/src/org/apache/solr/client/solrj/embedded/EmbeddedSolrServer.java
URL:
http://svn.apache.org/viewvc/lucene/solr/trunk/client/java/solrj/src/org/apache/solr/client/solrj/embedded/EmbeddedSolrServer.java?rev=614633&r1=614632&r2=614633&view=diff
==============================================================================
---
lucene/solr/trunk/client/java/solrj/src/org/apache/solr/client/solrj/embedded/EmbeddedSolrServer.java
(original)
+++
lucene/solr/trunk/client/java/solrj/src/org/apache/solr/client/solrj/embedded/EmbeddedSolrServer.java
Wed Jan 23 11:31:31 2008
@@ -23,8 +23,8 @@
import org.apache.solr.client.solrj.ResponseParser;
import org.apache.solr.client.solrj.SolrRequest;
+import org.apache.solr.client.solrj.SolrServer;
import org.apache.solr.client.solrj.SolrServerException;
-import org.apache.solr.client.solrj.impl.BaseSolrServer;
import org.apache.solr.client.solrj.impl.XMLResponseParser;
import org.apache.solr.common.SolrException;
import org.apache.solr.common.params.CommonParams;
@@ -49,7 +49,7 @@
* @version $Id$
* @since solr 1.3
*/
-public class EmbeddedSolrServer extends BaseSolrServer
+public class EmbeddedSolrServer extends SolrServer
{
protected ModifiableSolrParams _invariantParams;
protected ResponseParser _processor;
Modified:
lucene/solr/trunk/client/java/solrj/src/org/apache/solr/client/solrj/impl/CommonsHttpSolrServer.java
URL:
http://svn.apache.org/viewvc/lucene/solr/trunk/client/java/solrj/src/org/apache/solr/client/solrj/impl/CommonsHttpSolrServer.java?rev=614633&r1=614632&r2=614633&view=diff
==============================================================================
---
lucene/solr/trunk/client/java/solrj/src/org/apache/solr/client/solrj/impl/CommonsHttpSolrServer.java
(original)
+++
lucene/solr/trunk/client/java/solrj/src/org/apache/solr/client/solrj/impl/CommonsHttpSolrServer.java
Wed Jan 23 11:31:31 2008
@@ -46,6 +46,7 @@
import org.apache.commons.io.IOUtils;
import org.apache.solr.client.solrj.ResponseParser;
import org.apache.solr.client.solrj.SolrRequest;
+import org.apache.solr.client.solrj.SolrServer;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.util.ClientUtils;
import org.apache.solr.common.SolrException;
@@ -61,7 +62,7 @@
* @version $Id$
* @since solr 1.3
*/
-public class CommonsHttpSolrServer extends BaseSolrServer
+public class CommonsHttpSolrServer extends SolrServer
{
public static final String AGENT =
"Solr["+CommonsHttpSolrServer.class.getName()+"] 1.0";