Index: src/java/org/apache/lucene/analysis/CharArraySet.java
===================================================================
--- src/java/org/apache/lucene/analysis/CharArraySet.java (revision 893325)
+++ src/java/org/apache/lucene/analysis/CharArraySet.java (working copy)
@@ -1,5 +1,6 @@
package org.apache.lucene.analysis;
+import java.util.Arrays;
import java.util.AbstractSet;
import java.util.Collection;
import java.util.Collections;
@@ -143,6 +144,13 @@
this.charUtils = CharacterUtils.getInstance(matchVersion);
this.matchVersion = matchVersion;
}
+
+ /** Clears all entries in this set. This method is supported for reusing, but not {@link Set#remove}. */
+ @Override
+ public void clear() {
+ count = 0;
+ Arrays.fill(entries, null);
+ }
/** true if the len chars of text starting at off
* are in the set */
@@ -465,6 +473,11 @@
}
@Override
+ public void clear() {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
public boolean add(Object o){
throw new UnsupportedOperationException();
}
Index: src/test/org/apache/lucene/analysis/TestCharArraySet.java
===================================================================
--- src/test/org/apache/lucene/analysis/TestCharArraySet.java (revision 893325)
+++ src/test/org/apache/lucene/analysis/TestCharArraySet.java (working copy)
@@ -72,13 +72,14 @@
CharArraySet set=new CharArraySet(Version.LUCENE_CURRENT, 10,true);
set.addAll(Arrays.asList(TEST_STOP_WORDS));
assertEquals("Not all words added", TEST_STOP_WORDS.length, set.size());
- try{
- set.clear();
- fail("remove is not supported");
- }catch (UnsupportedOperationException e) {
- // expected
- assertEquals("Not all words added", TEST_STOP_WORDS.length, set.size());
- }
+ set.clear();
+ assertEquals("not empty", 0, set.size());
+ for(int i=0;i