You are viewing a plain text version of this content. The canonical link for it is here.
Posted to xindice-dev@xml.apache.org by vl...@apache.org on 2002/11/19 10:21:09 UTC
cvs commit: xml-xindice/java/src/org/apache/xindice/client/xmldb ResourceIteratorImpl.java
vladimir 2002/11/19 01:21:09
Modified: java/src/org/apache/xindice/client/xmldb
ResourceIteratorImpl.java
Log:
New version (with tests...) using an iterator. This fix the bug when you call getNext() if you're at the end of the list
Revision Changes Path
1.4 +29 -24 xml-xindice/java/src/org/apache/xindice/client/xmldb/ResourceIteratorImpl.java
Index: ResourceIteratorImpl.java
===================================================================
RCS file: /home/cvs/xml-xindice/java/src/org/apache/xindice/client/xmldb/ResourceIteratorImpl.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- ResourceIteratorImpl.java 31 Oct 2002 06:58:48 -0000 1.3
+++ ResourceIteratorImpl.java 19 Nov 2002 09:21:09 -0000 1.4
@@ -1,5 +1,3 @@
-package org.apache.xindice.client.xmldb;
-
/*
* The Apache Software License, Version 1.1
*
@@ -59,42 +57,49 @@
* $Id$
*/
+package org.apache.xindice.client.xmldb;
+
import org.xmldb.api.base.ErrorCodes;
import org.xmldb.api.base.Resource;
import org.xmldb.api.base.ResourceIterator;
import org.xmldb.api.base.XMLDBException;
+import java.util.Iterator;
import java.util.List;
+/**
+ * An iterator over a collection of resources.
+ *
+ * @author <a href="mailto:vladimir@apache.org">Vladimir R. Bossicard</a>
+ */
public class ResourceIteratorImpl implements ResourceIterator {
- List resources = null;
- int index = 0;
-
+
+ private Iterator iterator = null;
+
public ResourceIteratorImpl(List resources) {
- this.resources = resources;
+ if (resources != null) {
+ this.iterator = resources.iterator();
+ }
}
-
- public boolean hasMoreResources () throws XMLDBException {
- try {
- if (resources.get(index) == null) {
- return false;
- }
-
- return true;
+
+ public boolean hasMoreResources()
+ throws XMLDBException {
+ if (this.iterator != null) {
+ return this.iterator.hasNext();
}
- catch (Exception e) {
+ else {
return false;
}
}
- public Resource nextResource () throws XMLDBException {
- if (resources != null) {
- Resource result = (Resource) resources.get(index);
- index++;
- return result;
- }
- else {
- throw new XMLDBException(ErrorCodes.NO_SUCH_RESOURCE);
+ public Resource nextResource()
+ throws XMLDBException {
+ if (this.iterator != null) {
+ if (this.iterator.hasNext()) {
+ return (Resource) iterator.next();
+ }
}
+ throw new XMLDBException(ErrorCodes.NO_SUCH_RESOURCE);
}
+
}