Author: suat
Date: Thu Jul 12 06:12:00 2012
New Revision: 1360536

URL: http://svn.apache.org/viewvc?rev=1360536&view=rev
Log:
STANBOL-684: Added controls to check whether the provided cores are managed by 
ManagedSolrServerImpl and they are in active state.

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

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=1360536&r1=1360535&r2=1360536&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 06:12:00 2012
@@ -1220,6 +1220,15 @@ public class ManagedSolrServerImpl imple
      *            name of the second core
      */
     public void swapCores(String core1, String core2) {
+        if (!(isManagedIndex(core1) && isManagedIndex(core2))) {
+            throw new IllegalArgumentException(String.format(
+                "Both core names (%s,%s) must correspond to a managed index", 
core1, core2));
+        }
+        if (!(managedCores.isInState(ManagedIndexState.ACTIVE, core1) && 
managedCores.isInState(
+            ManagedIndexState.ACTIVE, core2))) {
+            throw new IllegalStateException(String.format(
+                "Both cores (%s,%s) should be in ManagedIndexState.ACTIVE 
state", core1, core2));
+        }
         Object token = new Object();
         synchronized (serverInUser) {
             serverInUser.add(token);


Reply via email to