You are viewing a plain text version of this content. The canonical link for it is here.
Posted to slide-dev@jakarta.apache.org by wa...@apache.org on 2002/03/19 18:28:15 UTC
cvs commit: jakarta-slide/src/share/org/apache/slide/search/basic RequestedResourcesPoolImpl.java RequestedResourcesPool.java
wam 02/03/19 09:28:15
Modified: src/share/org/apache/slide/search/basic
RequestedResourcesPoolImpl.java
RequestedResourcesPool.java
Log:
indicate partial result
Revision Changes Path
1.2 +109 -94 jakarta-slide/src/share/org/apache/slide/search/basic/RequestedResourcesPoolImpl.java
Index: RequestedResourcesPoolImpl.java
===================================================================
RCS file: /home/cvs/jakarta-slide/src/share/org/apache/slide/search/basic/RequestedResourcesPoolImpl.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- RequestedResourcesPoolImpl.java 14 Feb 2002 17:02:46 -0000 1.1
+++ RequestedResourcesPoolImpl.java 19 Mar 2002 17:28:15 -0000 1.2
@@ -32,120 +32,135 @@
* computed.
*
* @author <a href="mailto:martin.wallmer@softwareag.com">Martin Wallmer</a>
- * @version $Revision: 1.1 $
+ * @version $Revision: 1.2 $
*/
public class RequestedResourcesPoolImpl implements RequestedResourcesPool {
- /** */
+ /** */
private Structure structure;
- private Content contentHelper;
+ private Content contentHelper;
private SlideToken slideToken;
private QueryScope scope;
-
- private int maxDepth;
+ private int scopeDepth;
+ private int maxSlideDepth;
+ private boolean partialResult = false;
private Set pool;
- /**
- * Constructs a RequestedResourcesPool
- *
- * @param searchToken the searchToken
- * @param scope the scope of the query
- *
- * @throws BadQueryException
- */
- public RequestedResourcesPoolImpl (SearchToken searchToken,
- QueryScope scope)
- throws BadQueryException
+ /**
+ * Constructs a RequestedResourcesPool
+ *
+ * @param searchToken the searchToken
+ * @param scope the scope of the query
+ *
+ * @throws BadQueryException
+ */
+ public RequestedResourcesPoolImpl (SearchToken searchToken,
+ QueryScope scope)
+ throws BadQueryException
{
- this.structure = searchToken.getStructureHelper();
- this.slideToken = searchToken.getSlideToken();
- this.scope = scope;
- this.contentHelper = searchToken.getContentHelper();
-
- maxDepth = Math.min (searchToken.getMaxDepth(), scope.getDepth());
- createPool ();
+ this.structure = searchToken.getStructureHelper();
+ this.slideToken = searchToken.getSlideToken();
+ this.scope = scope;
+ this.contentHelper = searchToken.getContentHelper();
+
+ scopeDepth = scope.getDepth ();
+ maxSlideDepth = searchToken.getMaxDepth();
+
+ createPool ();
}
-
-
-
- /**
- * Method resourceIterator
- *
- * @return an Iterator
- *
- */
+ /**
+ * Method resourceIterator
+ *
+ * @return an Iterator
+ *
+ */
public Iterator resourceIterator() {
- return pool.iterator();
+ return pool.iterator();
}
- /**
- * Method getPool
- *
- * @return a Set
- *
- */
+ /**
+ * Method getPool
+ *
+ * @return a Set
+ *
+ */
public Set getPool() {
- return pool;
+ return pool;
}
- /**
- * Method createPool
- *
- * @throws BadQueryException
- *
- */
+ /**
+ * Method createPool
+ *
+ * @throws BadQueryException
+ *
+ */
private void createPool () throws BadQueryException {
- pool = new HashSet ();
-
- String resourceUri = scope.getHref();
-
- // Get the object from Data.
- ObjectNode resource = null;
-
- try {
- resource = structure.retrieve (slideToken, resourceUri);
- parseOneObject (resource, 0);
- }
- catch (StructureException e) {
- throw new InvalidScopeException
- ("scope " + resourceUri + " is invalid");
- }
- catch (Exception e) {
- throw new BadQueryException (e.getMessage());
- }
- }
-
- /**
- * Method parseOneObject
- *
- * @param object an ObjectNode
- * @param currentDepth an int
- *
- * @throws SlideException
- *
- */
+ pool = new HashSet ();
+
+ String resourceUri = scope.getHref();
+
+ // Get the object from Data.
+ ObjectNode resource = null;
+
+ try {
+ resource = structure.retrieve (slideToken, resourceUri);
+ parseOneObject (resource, 0);
+ }
+ catch (StructureException e) {
+ throw new InvalidScopeException
+ ("scope " + resourceUri + " is invalid");
+ }
+ catch (Exception e) {
+ throw new BadQueryException (e.getMessage());
+ }
+ }
+
+ /**
+ * Method parseOneObject. Called recursively, result set truncation is done
+ * here.
+ *
+ * @param object an ObjectNode
+ * @param currentDepth an int
+ *
+ * @throws SlideException
+ *
+ */
private void parseOneObject (ObjectNode object, int currentDepth)
- throws SlideException
- {
-
- if (currentDepth > maxDepth)
- return;
-
- Enumeration children = null;
- children = structure.getChildren (slideToken, object);
-
- while (children.hasMoreElements()) {
- ObjectNode cur = (ObjectNode)children.nextElement();
- parseOneObject (cur, currentDepth + 1);
- }
-
- RequestedResource item =
- new RequestedResourceImpl (object, slideToken, contentHelper);
-
- pool.add (item);
- }
+ throws SlideException
+ {
+ if (currentDepth > scopeDepth)
+ return;
+
+ if (currentDepth > maxSlideDepth) {
+ partialResult = true;
+ return;
+ }
+
+ Enumeration children = null;
+ children = structure.getChildren (slideToken, object);
+
+ while (children.hasMoreElements()) {
+ ObjectNode cur = (ObjectNode)children.nextElement();
+ parseOneObject (cur, currentDepth + 1);
+ }
+
+ RequestedResource item =
+ new RequestedResourceImpl (object, slideToken, contentHelper);
+
+ pool.add (item);
+ }
+
+ /**
+ * Indicates if the server truncated the result set.
+ *
+ * @return a boolean
+ *
+ */
+ public boolean partialResult() {
+ return partialResult;
+ }
}
1.2 +30 -20 jakarta-slide/src/share/org/apache/slide/search/basic/RequestedResourcesPool.java
Index: RequestedResourcesPool.java
===================================================================
RCS file: /home/cvs/jakarta-slide/src/share/org/apache/slide/search/basic/RequestedResourcesPool.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- RequestedResourcesPool.java 14 Feb 2002 17:02:46 -0000 1.1
+++ RequestedResourcesPool.java 19 Mar 2002 17:28:15 -0000 1.2
@@ -1,7 +1,7 @@
/*
- * $Header: /home/cvs/jakarta-slide/src/share/org/apache/slide/search/basic/RequestedResourcesPool.java,v 1.1 2002/02/14 17:02:46 wam Exp $
- * $Revision: 1.1 $
- * $Date: 2002/02/14 17:02:46 $
+ * $Header: /home/cvs/jakarta-slide/src/share/org/apache/slide/search/basic/RequestedResourcesPool.java,v 1.2 2002/03/19 17:28:15 wam Exp $
+ * $Revision: 1.2 $
+ * $Date: 2002/03/19 17:28:15 $
*
* ====================================================================
*
@@ -70,29 +70,39 @@
/**
* Represents the pool of all resources out of which the query result is
- * computed.
+ * computed. This may be the complete scope of the query or a subset, when
+ * the server the maximum depth of a query.
*
* @author <a href="mailto:martin.wallmer@softwareag.com">Martin Wallmer</a>
- * @version $Revision: 1.1 $
+ * @version $Revision: 1.2 $
*/
public interface RequestedResourcesPool {
-
- /**
- * Method resourceIterator
- *
- * @return an Iterator over RequestedResource objects
- *
- */
+
+ /**
+ * Method resourceIterator
+ *
+ * @return an Iterator over RequestedResource objects
+ *
+ */
Iterator resourceIterator ();
- /**
- * Method getPool
- *
- * @return the pool as Set of RequestedResource objects.
- *
- * @throws BadQueryException
- *
- */
+ /**
+ * Method getPool
+ *
+ * @return the pool as Set of RequestedResource objects.
+ *
+ * @throws BadQueryException
+ *
+ */
Set getPool () throws BadQueryException ;
+
+
+ /**
+ * Indicates if the server truncated the result set.
+ *
+ * @return a boolean
+ *
+ */
+ boolean partialResult ();
}
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>