[Mulgara-svn] r1440 - trunk/src/jar/resolver-lucene/java/org/mulgara/resolver/lucene

ronald at mulgara.org ronald at mulgara.org
Mon Jan 19 11:28:08 UTC 2009


Author: ronald
Date: 2009-01-19 03:28:08 -0800 (Mon, 19 Jan 2009)
New Revision: 1440

Modified:
   trunk/src/jar/resolver-lucene/java/org/mulgara/resolver/lucene/FullTextStringIndex.java
   trunk/src/jar/resolver-lucene/java/org/mulgara/resolver/lucene/FullTextStringIndexTuples.java
Log:
Fixed cloning of FullTextStringIndexTuples to clone the hits properly.

Modified: trunk/src/jar/resolver-lucene/java/org/mulgara/resolver/lucene/FullTextStringIndex.java
===================================================================
--- trunk/src/jar/resolver-lucene/java/org/mulgara/resolver/lucene/FullTextStringIndex.java	2009-01-19 11:28:03 UTC (rev 1439)
+++ trunk/src/jar/resolver-lucene/java/org/mulgara/resolver/lucene/FullTextStringIndex.java	2009-01-19 11:28:08 UTC (rev 1440)
@@ -735,7 +735,7 @@
    * around 20B/entry on 32-bit and 33B/entry on 64-bit systems for the hits array, allowing us
    * to handle 1M hits without too much trouble.
    */
-  public static class Hits extends HitCollector {
+  public static class Hits extends HitCollector implements Cloneable {
     private final IndexReader reader;
     private final List<ScoreDoc> hits = new ArrayList<ScoreDoc>();
     private boolean closed = false;
@@ -767,5 +767,14 @@
       closed = true;
       reader.decRef();
     }
+
+    public Hits clone() {
+      reader.incRef();
+      try {
+        return (Hits) super.clone();
+      } catch (CloneNotSupportedException e) {
+        throw new Error(getClass() + " doesn't support clone, which it must", e);
+      }
+    }
   }
 }

Modified: trunk/src/jar/resolver-lucene/java/org/mulgara/resolver/lucene/FullTextStringIndexTuples.java
===================================================================
--- trunk/src/jar/resolver-lucene/java/org/mulgara/resolver/lucene/FullTextStringIndexTuples.java	2009-01-19 11:28:03 UTC (rev 1439)
+++ trunk/src/jar/resolver-lucene/java/org/mulgara/resolver/lucene/FullTextStringIndexTuples.java	2009-01-19 11:28:08 UTC (rev 1440)
@@ -219,6 +219,12 @@
     }
   }
 
+  public FullTextStringIndexTuples clone() {
+    FullTextStringIndexTuples clone = (FullTextStringIndexTuples) super.clone();
+    clone.hits = hits.clone();
+    return clone;
+  }
+
   public long getColumnValue(int column) throws TuplesException {
     try {
       if (column >= 0 && column < luceneKeyList.size()) {




More information about the Mulgara-svn mailing list