You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by cl...@apache.org on 2015/06/26 19:58:12 UTC

jena git commit: Fix for JENA-966

Repository: jena
Updated Branches:
  refs/heads/master 84eca45b8 -> e9a976bae


Fix for JENA-966

Added removeNext(), andThen(), toList() and toSet() implementations to LazyIterator.

Deprecated LateBindingIterator which had much the same.
Modified Unparser to use LazyIterator rather than LateBindingIterator


Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/e9a976ba
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/e9a976ba
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/e9a976ba

Branch: refs/heads/master
Commit: e9a976bae67be635047b52d7fa598e144015553b
Parents: 84eca45
Author: Claude Warren <cl...@apache.org>
Authored: Fri Jun 26 18:48:45 2015 +0100
Committer: Claude Warren <cl...@apache.org>
Committed: Fri Jun 26 18:48:45 2015 +0100

----------------------------------------------------------------------
 .../jena/rdfxml/xmloutput/impl/Unparser.java    |  9 +++----
 .../jena/util/iterator/LateBindingIterator.java |  3 +++
 .../apache/jena/util/iterator/LazyIterator.java | 26 +++++++++++++++++++-
 3 files changed, 32 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/e9a976ba/jena-core/src/main/java/org/apache/jena/rdfxml/xmloutput/impl/Unparser.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/rdfxml/xmloutput/impl/Unparser.java b/jena-core/src/main/java/org/apache/jena/rdfxml/xmloutput/impl/Unparser.java
index 8e6d765..0210f9e 100644
--- a/jena-core/src/main/java/org/apache/jena/rdfxml/xmloutput/impl/Unparser.java
+++ b/jena-core/src/main/java/org/apache/jena/rdfxml/xmloutput/impl/Unparser.java
@@ -115,7 +115,6 @@ package org.apache.jena.rdfxml.xmloutput.impl;
  * 
  * [6.34] literal ::= (any well-formed XML)
  */
-import static org.apache.jena.util.iterator.WrappedIterator.create;
 
 import java.io.PrintWriter ;
 import java.util.* ;
@@ -1545,11 +1544,11 @@ class Unparser {
      * used before instantiating the underlying iterator.
      */
     private ExtendedIterator<Resource> allInfiniteLeft() {
-        return create(new LateBindingIterator<Resource>() {
-            @Override public Iterator<Resource> create() {
-                return infinite.iterator();
+        return new LazyIterator<Resource>() {
+            @Override public ExtendedIterator<Resource> create() {
+                return WrappedIterator.create(infinite.iterator());
             }
-        });
+        };
     }
 
     private Iterator<Resource> pleasingTypeIterator() {

http://git-wip-us.apache.org/repos/asf/jena/blob/e9a976ba/jena-core/src/main/java/org/apache/jena/util/iterator/LateBindingIterator.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/util/iterator/LateBindingIterator.java b/jena-core/src/main/java/org/apache/jena/util/iterator/LateBindingIterator.java
index eff26ba..099fce3 100644
--- a/jena-core/src/main/java/org/apache/jena/util/iterator/LateBindingIterator.java
+++ b/jena-core/src/main/java/org/apache/jena/util/iterator/LateBindingIterator.java
@@ -26,7 +26,10 @@ import java.util.Iterator ;
  * This allows an Iterator to be passed to some other
  * code, while delaying the evaluation of what actually
  * is going to be iterated over.
+ * 
+ * @deprecated Use LazyIterator instead.
  */
+@Deprecated
 abstract public class LateBindingIterator<T> implements Iterator<T> {
 
     private Iterator<? extends T> it;

http://git-wip-us.apache.org/repos/asf/jena/blob/e9a976ba/jena-core/src/main/java/org/apache/jena/util/iterator/LazyIterator.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/util/iterator/LazyIterator.java b/jena-core/src/main/java/org/apache/jena/util/iterator/LazyIterator.java
index 8a26180..c3a103e 100644
--- a/jena-core/src/main/java/org/apache/jena/util/iterator/LazyIterator.java
+++ b/jena-core/src/main/java/org/apache/jena/util/iterator/LazyIterator.java
@@ -18,6 +18,9 @@
 
 package org.apache.jena.util.iterator;
 
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
 import java.util.function.Function;
 import java.util.function.Predicate;
 
@@ -59,7 +62,7 @@ abstract public class LazyIterator<T> implements ExtendedIterator<T> {
 		it.remove();
 	}
 
-	public ExtendedIterator<T> andThen(ClosableIterator<? extends T> other) {
+	public  ExtendedIterator<T> andThen(ClosableIterator<? extends T> other) {
 		lazy();
 		return it.andThen(other);
 	}
@@ -88,6 +91,27 @@ abstract public class LazyIterator<T> implements ExtendedIterator<T> {
 		it.close();
 			
 	}
+	
+	@Override
+	public T removeNext() {
+		lazy();
+		return it.removeNext();
+	}
+
+	@Override
+	public <X extends T> ExtendedIterator<T> andThen( Iterator<X> other ){
+		return NiceIterator.andThen(this, other);
+	}
+
+	@Override
+	public List<T> toList() {
+		return NiceIterator.asList(this);
+	}
+
+	@Override
+	public Set<T> toSet() {
+		return NiceIterator.asSet(this);
+	}
 	 
 	private void lazy() {
 		if (it == null)