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


Reply via email to