vgritsenko 2004/02/22 19:22:51
Modified: java/src/org/apache/xindice/core/indexer IndexManager.java
Log:
fix drop index (broken by commit 2 days ago)
Revision Changes Path
1.31 +13 -5
xml-xindice/java/src/org/apache/xindice/core/indexer/IndexManager.java
Index: IndexManager.java
===================================================================
RCS file:
/home/cvs/xml-xindice/java/src/org/apache/xindice/core/indexer/IndexManager.java,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -r1.30 -r1.31
--- IndexManager.java 21 Feb 2004 13:48:23 -0000 1.30
+++ IndexManager.java 23 Feb 2004 03:22:51 -0000 1.31
@@ -136,6 +136,10 @@
* @return Whether or not the Indexer was dropped
*/
public synchronized boolean drop(final String name) {
+ // Get indexer
+ Indexer idx = get(name);
+
+ // Unregister and remove from coniguration
unregister(name);
config.processChildren(INDEX, new ConfigurationCallback() {
public void process(Configuration cfg) {
@@ -151,7 +155,7 @@
}
});
- Indexer idx = get(name);
+ // Drop indexer
boolean res = false;
try {
res = idx.drop();
@@ -167,8 +171,12 @@
* Drop all indexers
*/
public synchronized void drop() {
- for (int i = 0; i < idxList.length; i++) {
- drop(idxList[i].name);
+ // Get a copy of idxList
+ IndexerInfo[] idx = idxList;
+
+ // Drop indexes
+ for (int i = 0; i < idx.length; i++) {
+ drop(idx[i].name);
}
}