wam 2003/10/08 08:31:33
Modified: src/share/org/apache/slide/search/basic
BasicQueryEnvelope.java ComparableResourceImpl.java
Log:
bugfix: merge partial results
Revision Changes Path
1.7 +11 -5
jakarta-slide/src/share/org/apache/slide/search/basic/BasicQueryEnvelope.java
Index: BasicQueryEnvelope.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/share/org/apache/slide/search/basic/BasicQueryEnvelope.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- BasicQueryEnvelope.java 18 Sep 2003 07:11:46 -0000 1.6
+++ BasicQueryEnvelope.java 8 Oct 2003 15:31:33 -0000 1.7
@@ -183,7 +183,9 @@
queryDepth = Math.min (topLevelQueryScope.getDepth(), token.getMaxDepth());
Iterator it = subQueries.keySet().iterator();
+ Set scopesToRemove = new HashSet ();
while (it.hasNext()) {
+
Scope scope = (Scope)it.next();
// System.out.println ("parseQueryElement for scope " + scope);
QueryScope subQueryScope = calculateSubQueryScope (scope);
@@ -192,8 +194,12 @@
query.parseQueryElement (basicSearchElement, propertyProvider,
subQueryScope);
}
else {
- subQueries.remove (scope);
+ scopesToRemove.add (scope);
}
+ }
+ it = scopesToRemove.iterator();
+ while (it.hasNext()) {
+ subQueries.remove(it.next());
}
}
1.6 +40 -24
jakarta-slide/src/share/org/apache/slide/search/basic/ComparableResourceImpl.java
Index: ComparableResourceImpl.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/share/org/apache/slide/search/basic/ComparableResourceImpl.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- ComparableResourceImpl.java 22 Aug 2003 14:21:41 -0000 1.5
+++ ComparableResourceImpl.java 8 Oct 2003 15:31:33 -0000 1.6
@@ -63,34 +63,30 @@
package org.apache.slide.search.basic;
-import org.apache.slide.search.basic.*;
-import org.apache.slide.search.*;
-
-
-import org.apache.slide.structure.ObjectNode;
-import org.apache.slide.common.SlideException;
-import org.apache.slide.security.AccessDeniedException;
-import org.apache.slide.common.SlideToken;
+import java.util.Date;
+import java.util.Enumeration;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Set;
import org.apache.slide.common.Domain;
import org.apache.slide.common.PropertyName;
+import org.apache.slide.common.SlideException;
+import org.apache.slide.common.SlideToken;
+import org.apache.slide.content.Content;
import org.apache.slide.content.NodeProperty;
import org.apache.slide.content.NodeProperty.NamespaceCache;
import org.apache.slide.content.NodeRevisionContent;
import org.apache.slide.content.NodeRevisionDescriptor;
import org.apache.slide.content.NodeRevisionDescriptors;
-import org.apache.slide.content.Content;
-import org.apache.slide.common.SlideException;
-//??
+import org.apache.slide.search.CompareHint;
+import org.apache.slide.search.PropertyProvider;
+import org.apache.slide.search.QueryScope;
+import org.apache.slide.search.RequestedResource;
+import org.apache.slide.search.SearchToken;
+import org.apache.slide.search.SlideUri;
import org.apache.slide.search.basic.Literals;
-
-import java.util.Set;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.ArrayList;
-import java.util.List;
-
-import java.util.Enumeration;
-import java.util.Date;
+import org.apache.slide.security.AccessDeniedException;
+import org.apache.slide.structure.ObjectNode;
/**
* Represents one Resource. Implements operators like greaterThan,
@@ -684,6 +680,26 @@
return result;
}
+ public boolean equals (Object otherObject) {
+ if (!(otherObject instanceof ComparableResource))
+ return false;
+
+ String otherUri = null;
+ try {
+ otherUri = ((ComparableResource)otherObject).getUri();
+ } catch (SlideException e) {}
+
+ if (getUri().equals (otherUri))
+ return true;
+ else
+ return false;
+ }
+
+ public int hashCode () {
+ return getUri().hashCode();
+ }
+
+
/**
* Dummy Exception to indicate UNKNOWN state
*/
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]