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)