You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stanbol.apache.org by su...@apache.org on 2012/07/12 09:25:51 UTC

svn commit: r1360556 - in /incubator/stanbol/trunk/commons/solr/managed/src/main/java/org/apache/stanbol/commons/solr/managed: ./ impl/ standalone/

Author: suat
Date: Thu Jul 12 07:25:50 2012
New Revision: 1360556

URL: http://svn.apache.org/viewvc?rev=1360556&view=rev
Log:
STANBOL-687: Added swapIndexes method to ManagedSolrServer interface and provided an implementation for StandaloneManagedSolrServer

Modified:
    incubator/stanbol/trunk/commons/solr/managed/src/main/java/org/apache/stanbol/commons/solr/managed/ManagedSolrServer.java
    incubator/stanbol/trunk/commons/solr/managed/src/main/java/org/apache/stanbol/commons/solr/managed/impl/ManagedSolrServerImpl.java
    incubator/stanbol/trunk/commons/solr/managed/src/main/java/org/apache/stanbol/commons/solr/managed/standalone/DefaultStandaloneManagedSolrServerWrapper.java
    incubator/stanbol/trunk/commons/solr/managed/src/main/java/org/apache/stanbol/commons/solr/managed/standalone/StandaloneManagedSolrServer.java

Modified: incubator/stanbol/trunk/commons/solr/managed/src/main/java/org/apache/stanbol/commons/solr/managed/ManagedSolrServer.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/commons/solr/managed/src/main/java/org/apache/stanbol/commons/solr/managed/ManagedSolrServer.java?rev=1360556&r1=1360555&r2=1360556&view=diff
==============================================================================
--- incubator/stanbol/trunk/commons/solr/managed/src/main/java/org/apache/stanbol/commons/solr/managed/ManagedSolrServer.java (original)
+++ incubator/stanbol/trunk/commons/solr/managed/src/main/java/org/apache/stanbol/commons/solr/managed/ManagedSolrServer.java Thu Jul 12 07:25:50 2012
@@ -265,4 +265,16 @@ public interface ManagedSolrServer {
      *             component is currently deactivated) or initialised.
      */
     File getManagedDirectory();
+    
+    /**
+     * Swaps the indexes through using the swap method of the underlying CoreContainer 
+     * ({@link CoreContainer#swap(String, String)}).  
+     * @param indexName1 the name of the first index
+     * @param indexName2 the name of the second index
+     * @throws IllegalArgumentException if one or both of the indexes is not managed i.e {@link #isManagedIndex(String)}
+     * returns {@code false}.
+     * @throws IllegalStateException if one or both of the index is not in {@link ManagedIndexState#ACTIVE}
+     * state.
+     */
+    void swapIndexes(String indexName1, String indexName2);
 }
\ No newline at end of file

Modified: incubator/stanbol/trunk/commons/solr/managed/src/main/java/org/apache/stanbol/commons/solr/managed/impl/ManagedSolrServerImpl.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/commons/solr/managed/src/main/java/org/apache/stanbol/commons/solr/managed/impl/ManagedSolrServerImpl.java?rev=1360556&r1=1360555&r2=1360556&view=diff
==============================================================================
--- incubator/stanbol/trunk/commons/solr/managed/src/main/java/org/apache/stanbol/commons/solr/managed/impl/ManagedSolrServerImpl.java (original)
+++ incubator/stanbol/trunk/commons/solr/managed/src/main/java/org/apache/stanbol/commons/solr/managed/impl/ManagedSolrServerImpl.java Thu Jul 12 07:25:50 2012
@@ -1210,33 +1210,25 @@ public class ManagedSolrServerImpl imple
         }
     }
 
-    /**
-     * Swaps Solr cores identified by the given names. The swap operation is realized by 
-     * the underlying {@link SolrServerAdapter#swap(String, String)}.
-     * 
-     * @param core1
-     *            name of the first core
-     * @param core2
-     *            name of the second core
-     */
-    public void swapCores(String core1, String core2) {
-        if (!(isManagedIndex(core1) && isManagedIndex(core2))) {
+    @Override
+    public void swapIndexes(String indexName1, String indexName2) {
+        if (!(isManagedIndex(indexName1) && isManagedIndex(indexName2))) {
             throw new IllegalArgumentException(String.format(
-                "Both core names (%s,%s) must correspond to a managed index", core1, core2));
+                "Both core names (%s,%s) must correspond to a managed index", indexName1, indexName2));
         }
-        if (!(managedCores.isInState(ManagedIndexState.ACTIVE, core1) && managedCores.isInState(
-            ManagedIndexState.ACTIVE, core2))) {
+        if (!(managedCores.isInState(ManagedIndexState.ACTIVE, indexName1) && managedCores.isInState(
+            ManagedIndexState.ACTIVE, indexName2))) {
             throw new IllegalStateException(String.format(
-                "Both cores (%s,%s) should be in ManagedIndexState.ACTIVE state", core1, core2));
+                "Both cores (%s,%s) should be in ManagedIndexState.ACTIVE state", indexName1, indexName2));
         }
         Object token = new Object();
         synchronized (serverInUser) {
             serverInUser.add(token);
         }
         try {
-            server.swap(core1, core2);
-            IndexMetadata core1Metadata = getIndexMetadata(core1);
-            IndexMetadata core2Metadata = getIndexMetadata(core2);
+            server.swap(indexName1, indexName2);
+            IndexMetadata core1Metadata = getIndexMetadata(indexName1);
+            IndexMetadata core2Metadata = getIndexMetadata(indexName2);
             String core2Directory = core2Metadata.getDirectory();
             core2Metadata.setDirectory(core1Metadata.getDirectory());
             core1Metadata.setDirectory(core2Directory);

Modified: incubator/stanbol/trunk/commons/solr/managed/src/main/java/org/apache/stanbol/commons/solr/managed/standalone/DefaultStandaloneManagedSolrServerWrapper.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/commons/solr/managed/src/main/java/org/apache/stanbol/commons/solr/managed/standalone/DefaultStandaloneManagedSolrServerWrapper.java?rev=1360556&r1=1360555&r2=1360556&view=diff
==============================================================================
--- incubator/stanbol/trunk/commons/solr/managed/src/main/java/org/apache/stanbol/commons/solr/managed/standalone/DefaultStandaloneManagedSolrServerWrapper.java (original)
+++ incubator/stanbol/trunk/commons/solr/managed/src/main/java/org/apache/stanbol/commons/solr/managed/standalone/DefaultStandaloneManagedSolrServerWrapper.java Thu Jul 12 07:25:50 2012
@@ -133,5 +133,9 @@ public class DefaultStandaloneManagedSol
                                                                                                       SAXException {
         return defaultServer.updateIndex(indexName, ais, archiveCoreName);
     }
-    
+ 
+    @Override
+    public void swapIndexes(String indexName1, String indexName2) {
+        defaultServer.swapIndexes(indexName1, indexName2);
+    }
 }
\ No newline at end of file

Modified: incubator/stanbol/trunk/commons/solr/managed/src/main/java/org/apache/stanbol/commons/solr/managed/standalone/StandaloneManagedSolrServer.java
URL: http://svn.apache.org/viewvc/incubator/stanbol/trunk/commons/solr/managed/src/main/java/org/apache/stanbol/commons/solr/managed/standalone/StandaloneManagedSolrServer.java?rev=1360556&r1=1360555&r2=1360556&view=diff
==============================================================================
--- incubator/stanbol/trunk/commons/solr/managed/src/main/java/org/apache/stanbol/commons/solr/managed/standalone/StandaloneManagedSolrServer.java (original)
+++ incubator/stanbol/trunk/commons/solr/managed/src/main/java/org/apache/stanbol/commons/solr/managed/standalone/StandaloneManagedSolrServer.java Thu Jul 12 07:25:50 2012
@@ -540,5 +540,13 @@ public class StandaloneManagedSolrServer
     public CoreContainer getCoreContainer() {
         return server;
     }
-    
+
+    @Override
+    public void swapIndexes(String indexName1, String indexName2) {
+        if (!(isManagedIndex(indexName1) && isManagedIndex(indexName2))) {
+            throw new IllegalArgumentException(String.format(
+                "Both core names (%s,%s) must correspond to a managed index", indexName1, indexName2));
+        }
+        server.swap(indexName1, indexName2);
+    }
 }