Author: suat
Date: Wed Jul 11 08:58:24 2012
New Revision: 1360077

URL: http://svn.apache.org/viewvc?rev=1360077&view=rev
Log:
STANBOL-684: Added a new method calling the underlying SolrServerAdapter#swap

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=1360077&r1=1360076&r2=1360077&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
 Wed Jul 11 08:58:24 2012
@@ -1209,5 +1209,29 @@ 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) {
+        Object token = new Object();
+        synchronized (serverInUser) {
+            serverInUser.add(token);
+        }
+        try {
+            server.swap(core1, core2);
+        } finally {
+            synchronized (serverInUser) {
+                serverInUser.remove(token);
+                token = null;
+                serverInUser.notifyAll();
+            }
+        }
+    }
 }


Reply via email to