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); } }