This is an automated email from the ASF dual-hosted git repository. andy pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/jena.git
commit bc3d30bb038f7dafe0ab73eb7f26df0ec08f6d6a Author: Andy Seaborne <[email protected]> AuthorDate: Fri Aug 16 09:05:56 2024 +0100 GH-2664: Consolidate NullIterator and SingletonIterator around Iter functions --- .../apache/jena/sparql/algebra/table/Table1.java | 2 +- .../jena/sparql/algebra/table/TableUnit.java | 2 +- .../apache/jena/sparql/core/DatasetGraphOne.java | 5 ++-- .../sparql/engine/iterator/QueryIterGroup.java | 4 +-- .../jena/sparql/engine/main/JoinClassifier.java | 2 +- .../engine/main/iterator/QueryIterGraph.java | 33 ++++++++++---------- .../jena/sparql/modify/UpdateEngineWorker.java | 2 +- .../apache/jena/sparql/util/graph/GraphList.java | 2 +- .../java/org/apache/jena/atlas/iterator/Iter.java | 12 ++++++-- .../apache/jena/atlas/iterator/NullIterator.java | 10 +++++++ .../jena/atlas/iterator/SingletonIterator.java | 8 ++--- .../org/apache/jena/atlas/lib/cache/Cache1.java | 4 +-- .../bplustree/BPTreeDistinctKeyPrefixIterator.java | 6 ++-- .../java/org/apache/jena/tdb1/store/QuadTable.java | 35 +++++++++++----------- .../org/apache/jena/tdb1/store/TripleTable.java | 29 +++++++++--------- .../nodetupletable/NodeTupleTableConcrete.java | 3 +- .../tdb1/store/tupletable/TupleIndexRecord.java | 4 +-- .../tdb2/store/tupletable/TupleIndexRecord.java | 6 ++-- 18 files changed, 90 insertions(+), 79 deletions(-) diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/table/Table1.java b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/table/Table1.java index 0c3fa9c111..a7cc31ea1a 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/table/Table1.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/table/Table1.java @@ -45,7 +45,7 @@ public class Table1 extends TableBase { @Override public Iterator<Binding> rows() { Binding b = BindingFactory.binding(var, value) ; - return Iter.singleton(b) ; + return Iter.singletonIterator(b) ; } @Override diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/table/TableUnit.java b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/table/TableUnit.java index 58ec34d055..26b6e9bd61 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/table/TableUnit.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/table/TableUnit.java @@ -41,7 +41,7 @@ public class TableUnit extends TableBase @Override public Iterator<Binding> rows() { Binding binding = BindingFactory.empty() ; - return Iter.singleton(binding) ; + return Iter.singletonIterator(binding) ; } @Override diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphOne.java b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphOne.java index 88b05fab4d..9345edc362 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphOne.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/core/DatasetGraphOne.java @@ -21,7 +21,6 @@ package org.apache.jena.sparql.core; import java.util.Iterator; import org.apache.jena.atlas.iterator.Iter; -import org.apache.jena.atlas.iterator.NullIterator; import org.apache.jena.graph.Graph; import org.apache.jena.graph.Node; import org.apache.jena.graph.Triple; @@ -139,7 +138,7 @@ public class DatasetGraphOne extends DatasetGraphBaseFind { @Override public Iterator<Node> listGraphNodes() { - return new NullIterator<>(); + return Iter.nullIterator(); } @Override @@ -226,7 +225,7 @@ public class DatasetGraphOne extends DatasetGraphBaseFind { if ( isWildcard(g) || isDefaultGraph(g) ) return G.triples2quadsDftGraph(graph.find(s, p, o)); else - return new NullIterator<>(); + return Iter.nullIterator(); } @Override diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/engine/iterator/QueryIterGroup.java b/jena-arq/src/main/java/org/apache/jena/sparql/engine/iterator/QueryIterGroup.java index 99026f60b5..429e4c963b 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/engine/iterator/QueryIterGroup.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/engine/iterator/QueryIterGroup.java @@ -90,7 +90,7 @@ public class QueryIterGroup extends QueryIterPlainWrapper return Iter.nullIterator() ; if ( ! hasAggregators ) { // No GROUP BY, no aggregators. One result row of no columns. - return Iter.singleton(BindingFactory.binding()); + return Iter.singletonIterator(BindingFactory.binding()); } // No GROUP BY, has aggregators. Insert default values. BindingBuilder builder = Binding.builder(); @@ -101,7 +101,7 @@ public class QueryIterGroup extends QueryIterPlainWrapper Var v = agg.getVar(); builder.add(v, value); } - return Iter.singleton(builder.build()); + return Iter.singletonIterator(builder.build()); } // Case: there is input. diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/engine/main/JoinClassifier.java b/jena-arq/src/main/java/org/apache/jena/sparql/engine/main/JoinClassifier.java index 9b1b13bb8d..9488b5e35e 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/engine/main/JoinClassifier.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/engine/main/JoinClassifier.java @@ -310,7 +310,7 @@ public class JoinClassifier // XXX This method could go to OpLib or the Op interface directly private static Iterator<Op> getSubOps(Op op) { if (op instanceof Op1) - return Iter.singleton(((Op1)op).getSubOp()); + return Iter.singletonIterator(((Op1)op).getSubOp()); if (op instanceof Op2) { Op2 x = (Op2)op; diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/engine/main/iterator/QueryIterGraph.java b/jena-arq/src/main/java/org/apache/jena/sparql/engine/main/iterator/QueryIterGraph.java index a07110e79e..2c3e52434e 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/engine/main/iterator/QueryIterGraph.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/engine/main/iterator/QueryIterGraph.java @@ -22,7 +22,6 @@ import java.util.Iterator ; import java.util.NoSuchElementException ; import org.apache.jena.atlas.iterator.Iter ; -import org.apache.jena.atlas.iterator.SingletonIterator ; import org.apache.jena.atlas.lib.Lib ; import org.apache.jena.graph.Graph ; import org.apache.jena.graph.Node ; @@ -46,30 +45,30 @@ public class QueryIterGraph extends QueryIterRepeatApply { /* * A note on the strange case of GRAPH ?g { ... ?g ... } - * + * * The inner pattern is solved, then the outer ?g=... is added. This happens * because the outer ?g is added by QueryIterAssignVarValue which tests a * variable is the same as the binding and drops the binding if not. (which * is a specialised form of join. */ protected OpGraph opGraph ; - + public QueryIterGraph(QueryIterator input, OpGraph opGraph, ExecutionContext context) { super(input, context) ; this.opGraph = opGraph ; } - + @Override protected QueryIterator nextStage(Binding outerBinding) { DatasetGraph ds = getExecContext().getDataset() ; // Is this closed? Iterator<Node> graphNameNodes = makeSources(ds, outerBinding, opGraph.getNode()); - + // List<Node> x = Iter.toList(graphNameNodes) ; // graphNameNodes = x.iterator() ; // System.out.println(x) ; - + QueryIterator current = new QueryIterGraphInner(outerBinding, graphNameNodes, opGraph, getExecContext()) ; return current ; } @@ -82,17 +81,17 @@ public class QueryIterGraph extends QueryIterRepeatApply protected static Iterator<Node> makeSources(DatasetGraph data, Binding b, Node graphVar) { Node n2 = resolve(b, graphVar) ; - if ( n2 != null && n2.isLiteral() ) + if ( n2 != null && n2.isLiteral() ) // Literal possible after resolving return Iter.nullIterator() ; - + // n2 is a URI or null. if ( n2 == null ) // Do all submodels. return data.listGraphNodes() ; - return new SingletonIterator<>(n2) ; + return Iter.singletonIterator(n2) ; } - + protected static class QueryIterGraphInner extends QueryIterSub { @@ -146,15 +145,15 @@ public class QueryIterGraph extends QueryIterRepeatApply } return null; } - + // Build iterator or return null for if there can't be any results. private QueryIterator buildIterator(Node gn) { QueryIterator qIter = buildIterator(parentBinding, gn, opSubstituted, getExecContext()) ; if ( qIter == null ) - // Known to be nothing (e.g. graph does not exist). + // Known to be nothing (e.g. graph does not exist). // try again. return null ; - + if ( Var.isVar(opGraph.getNode()) ) { // This is the join of the graph node variable to the sub-pattern solution. // Do after the subpattern so that the variable is not visible to the @@ -164,14 +163,14 @@ public class QueryIterGraph extends QueryIterRepeatApply } return qIter ; } - + // Create the iterator for a cycle of one node - or return null if there can't be any results. protected static QueryIterator buildIterator(Binding binding, Node graphNode, Op opExec, ExecutionContext outerCxt) { if ( !graphNode.isURI() && !graphNode.isBlank() ) // e.g. variable bound to a literal or blank node. throw new ARQInternalErrorException("QueryIterGraphInner.buildIterator: Not a URI or blank node: "+graphNode) ; - - // We can't just use DatasetGraph.getGraph because it may + + // We can't just use DatasetGraph.getGraph because it may // "auto-create" graphs. Use the containsGraph function. boolean syntheticGraph = ( Quad.isDefaultGraph(graphNode) || Quad.isUnionGraph(graphNode) ) ; if ( ! syntheticGraph && ! outerCxt.getDataset().containsGraph(graphNode) ) @@ -182,7 +181,7 @@ public class QueryIterGraph extends QueryIterRepeatApply if ( g == null ) return null ; //throw new ARQInternalErrorException(".containsGraph was true but .getGraph is null") ; - + ExecutionContext cxt2 = new ExecutionContext(outerCxt, g) ; QueryIterator subInput = QueryIterSingleton.create(binding, cxt2) ; return QC.execute(opExec, subInput, cxt2) ; diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngineWorker.java b/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngineWorker.java index 0ec552931c..5c4eeab04b 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngineWorker.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/modify/UpdateEngineWorker.java @@ -533,7 +533,7 @@ public class UpdateEngineWorker implements UpdateVisitor // ... but that's going to happen again :-( if ( query == null ) { Binding binding = (null != inputBinding) ? inputBinding : BindingRoot.create(); - return Iter.singleton(binding); + return Iter.singletonIterator(binding); } // Not QueryExecDataset.dataset(...) because of initialBinding. diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/util/graph/GraphList.java b/jena-arq/src/main/java/org/apache/jena/sparql/util/graph/GraphList.java index 8c1f12f8a5..cb56d73218 100644 --- a/jena-arq/src/main/java/org/apache/jena/sparql/util/graph/GraphList.java +++ b/jena-arq/src/main/java/org/apache/jena/sparql/util/graph/GraphList.java @@ -132,7 +132,7 @@ public class GraphList GNode gn = new GNode(graph, s); if ( ! isAny(o) ) { if ( contains(gn, o) ) - return Iter.singleton(Triple.create(s, ListPFunction.nListMember, o)); + return Iter.singletonIterator(Triple.create(s, ListPFunction.nListMember, o)); else return Iter.nullIterator(); } diff --git a/jena-base/src/main/java/org/apache/jena/atlas/iterator/Iter.java b/jena-base/src/main/java/org/apache/jena/atlas/iterator/Iter.java index 87e99abe46..7338bd3f59 100644 --- a/jena-base/src/main/java/org/apache/jena/atlas/iterator/Iter.java +++ b/jena-base/src/main/java/org/apache/jena/atlas/iterator/Iter.java @@ -79,7 +79,13 @@ public class Iter<T> implements IteratorCloseable<T> { // ---- Special iterators. + /** @deprecated Sue {@link #singletonIterator} */ + @Deprecated public static <T> Iterator<T> singleton(T item) { + return singletonIterator(item); + } + + public static <T> Iterator<T> singletonIterator(T item) { // There is a singleton iterator in Collections but it is not public. return new SingletonIterator<>(item); } @@ -95,7 +101,7 @@ public class Iter<T> implements IteratorCloseable<T> { } public static <T> Iter<T> of(T item) { - return Iter.iter(new SingletonIterator<>(item)); + return Iter.iter(singletonIterator(item)); } @SafeVarargs @@ -796,11 +802,11 @@ public class Iter<T> implements IteratorCloseable<T> { } public static <T> Iter<T> singletonIter(T item) { - return iter(new SingletonIterator<>(item)); + return iter(singletonIterator(item)); } public static <T> Iter<T> nullIter() { - return iter(new NullIterator<T>()); + return iter(nullIterator()); } /** diff --git a/jena-base/src/main/java/org/apache/jena/atlas/iterator/NullIterator.java b/jena-base/src/main/java/org/apache/jena/atlas/iterator/NullIterator.java index 8b699dc33f..bf94c938b4 100644 --- a/jena-base/src/main/java/org/apache/jena/atlas/iterator/NullIterator.java +++ b/jena-base/src/main/java/org/apache/jena/atlas/iterator/NullIterator.java @@ -26,7 +26,13 @@ import java.util.function.Consumer; /** * Null Iterator - also guaranteed shareable and immutable */ +@Deprecated public class NullIterator<T> implements Iterator<T> { + + public static <X> NullIterator<X> create(){ return new NullIterator<>(); } + + private NullIterator() {} + @Override public boolean hasNext() { return false; @@ -41,4 +47,8 @@ public class NullIterator<T> implements Iterator<T> { public void forEachRemaining(Consumer<? super T> action) { Objects.requireNonNull(action); } + + @Override + public void remove() + { throw new UnsupportedOperationException("NullIterator.remove") ;} } diff --git a/jena-base/src/main/java/org/apache/jena/atlas/iterator/SingletonIterator.java b/jena-base/src/main/java/org/apache/jena/atlas/iterator/SingletonIterator.java index 9c49e489cb..788ef3540a 100644 --- a/jena-base/src/main/java/org/apache/jena/atlas/iterator/SingletonIterator.java +++ b/jena-base/src/main/java/org/apache/jena/atlas/iterator/SingletonIterator.java @@ -25,11 +25,9 @@ public class SingletonIterator<T> implements Iterator<T> { private T thing = null ; private boolean yielded = false ; - - public static <T> SingletonIterator<T> create(T thing) { return new SingletonIterator<>(thing) ; } - + public SingletonIterator(T thing) { this.thing = thing ; } - + @Override public boolean hasNext() { @@ -47,5 +45,5 @@ public class SingletonIterator<T> implements Iterator<T> @Override public void remove() - { throw new NoSuchElementException("SingletonIterator.remove") ;} + { throw new UnsupportedOperationException("SingletonIterator.remove") ;} } diff --git a/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/Cache1.java b/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/Cache1.java index 22b1d71836..2a3c035999 100644 --- a/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/Cache1.java +++ b/jena-base/src/main/java/org/apache/jena/atlas/lib/cache/Cache1.java @@ -23,7 +23,7 @@ import java.util.Objects; import java.util.function.BiConsumer; import java.util.function.Function; -import org.apache.jena.atlas.iterator.SingletonIterator; +import org.apache.jena.atlas.iterator.Iter; import org.apache.jena.atlas.lib.Cache; /** A one-slot cache. */ @@ -82,7 +82,7 @@ public class Cache1<K, V> implements Cache<K, V> { @Override public Iterator<K> keys() { - return new SingletonIterator<>(cacheKey); + return Iter.singletonIterator(cacheKey); } @Override diff --git a/jena-db/jena-dboe-trans-data/src/main/java/org/apache/jena/dboe/trans/bplustree/BPTreeDistinctKeyPrefixIterator.java b/jena-db/jena-dboe-trans-data/src/main/java/org/apache/jena/dboe/trans/bplustree/BPTreeDistinctKeyPrefixIterator.java index 5e65dd15de..b4b65c8a8c 100644 --- a/jena-db/jena-dboe-trans-data/src/main/java/org/apache/jena/dboe/trans/bplustree/BPTreeDistinctKeyPrefixIterator.java +++ b/jena-db/jena-dboe-trans-data/src/main/java/org/apache/jena/dboe/trans/bplustree/BPTreeDistinctKeyPrefixIterator.java @@ -48,7 +48,7 @@ class BPTreeDistinctKeyPrefixIterator implements Iterator<Record> { } // If there's only a single distinct prefix then just return a singleton if (Arrays.compare(minRecord.getKey(), 0, keyPrefixLength, maxRecord.getKey(), 0, keyPrefixLength) == 0) { - return Iter.singleton(minRecord); + return Iter.singletonIterator(minRecord); } // Otherwise need the full iterator return new BPTreeDistinctKeyPrefixIterator(node, keyPrefixLength, minRecord, maxRecord); @@ -131,7 +131,7 @@ class BPTreeDistinctKeyPrefixIterator implements Iterator<Record> { Record subtreeMin = n.minRecord(); Record subtreeMax = n.maxRecord(); if (haveSamePrefix(subtreeMin, subtreeMax)) { - return Iter.singleton(subtreeMin); + return Iter.singletonIterator(subtreeMin); } r = loadStack(n); } else { @@ -156,7 +156,7 @@ class BPTreeDistinctKeyPrefixIterator implements Iterator<Record> { Record lowRecord = records.getLowRecord(); if (haveSamePrefix(lowRecord, records.getHighRecord())) { // If the low and high keys for this page have the same prefix then just return a singleton iterator - iter = Iter.singleton(lowRecord); + iter = Iter.singletonIterator(lowRecord); } else { // Otherwise need to scan the whole page iter = records.getRecordBuffer().iterator(); diff --git a/jena-tdb1/src/main/java/org/apache/jena/tdb1/store/QuadTable.java b/jena-tdb1/src/main/java/org/apache/jena/tdb1/store/QuadTable.java index 24057081bd..1e9fc6d213 100644 --- a/jena-tdb1/src/main/java/org/apache/jena/tdb1/store/QuadTable.java +++ b/jena-tdb1/src/main/java/org/apache/jena/tdb1/store/QuadTable.java @@ -20,7 +20,8 @@ package org.apache.jena.tdb1.store; import java.util.Iterator ; -import org.apache.jena.atlas.iterator.NullIterator ; + +import org.apache.jena.atlas.iterator.Iter; import org.apache.jena.atlas.lib.tuple.Tuple ; import org.apache.jena.graph.Node ; import org.apache.jena.graph.Triple ; @@ -43,47 +44,47 @@ public class QuadTable extends TableBase } /** Add a quad - return true if it was added, false if it already existed */ - public boolean add( Quad quad ) - { + public boolean add( Quad quad ) + { return add(quad.getGraph(), quad.getSubject(), quad.getPredicate(), quad.getObject()) ; } /** Add a quad (as graph node and triple) - return true if it was added, false if it already existed */ - public boolean add(Node gn, Triple triple ) - { + public boolean add(Node gn, Triple triple ) + { return add(gn, triple.getSubject(), triple.getPredicate(), triple.getObject()) ; } - + /** Add a quad - return true if it was added, false if it already existed */ - public boolean add(Node g, Node s, Node p, Node o) - { + public boolean add(Node g, Node s, Node p, Node o) + { return table.addRow(g,s,p,o) ; } - + /** Delete a quad - return true if it was deleted, false if it didn't exist */ - public boolean delete( Quad quad ) - { + public boolean delete( Quad quad ) + { return delete(quad.getGraph(), quad.getSubject(), quad.getPredicate(), quad.getObject()) ; } /** Delete a quad (as graph node and triple) - return true if it was deleted, false if it didn't exist */ - public boolean delete( Node gn, Triple triple ) - { + public boolean delete( Node gn, Triple triple ) + { return delete(gn, triple.getSubject(), triple.getPredicate(), triple.getObject()) ; } /** Delete a quad - return true if it was deleted, false if it didn't exist */ - public boolean delete(Node g, Node s, Node p, Node o) - { + public boolean delete(Node g, Node s, Node p, Node o) + { return table.deleteRow(g, s, p, o) ; } - + /** Find matching quads */ public Iterator<Quad> find(Node g, Node s, Node p, Node o) { Iterator<Tuple<NodeId>> iter = table.findAsNodeIds(g, s, p, o) ; if ( iter == null ) - return new NullIterator<>() ; + return Iter.nullIterator(); Iterator<Quad> iter2 = TupleLib.convertToQuads(table.getNodeTable(), iter) ; return iter2 ; } diff --git a/jena-tdb1/src/main/java/org/apache/jena/tdb1/store/TripleTable.java b/jena-tdb1/src/main/java/org/apache/jena/tdb1/store/TripleTable.java index ea05fe2c3d..0ad4baa13d 100644 --- a/jena-tdb1/src/main/java/org/apache/jena/tdb1/store/TripleTable.java +++ b/jena-tdb1/src/main/java/org/apache/jena/tdb1/store/TripleTable.java @@ -20,7 +20,8 @@ package org.apache.jena.tdb1.store; import java.util.Iterator ; -import org.apache.jena.atlas.iterator.NullIterator ; + +import org.apache.jena.atlas.iterator.Iter; import org.apache.jena.atlas.lib.tuple.Tuple ; import org.apache.jena.graph.Node ; import org.apache.jena.graph.Triple ; @@ -44,26 +45,26 @@ public class TripleTable extends TableBase super(3, indexes, nodeTable, policy) ; //table = new NodeTupleTableConcrete(3, indexes, nodeTable, policy) ; } - - public boolean add( Triple triple ) - { + + public boolean add( Triple triple ) + { return add(triple.getSubject(), triple.getPredicate(), triple.getObject()) ; } - public boolean add(Node s, Node p, Node o) - { + public boolean add(Node s, Node p, Node o) + { return table.addRow(s, p, o) ; } - + /** Delete a triple - return true if it was deleted, false if it didn't exist */ - public boolean delete( Triple triple ) - { + public boolean delete( Triple triple ) + { return delete(triple.getSubject(), triple.getPredicate(), triple.getObject()) ; } - + /** Delete a triple - return true if it was deleted, false if it didn't exist */ - public boolean delete(Node s, Node p, Node o) - { + public boolean delete(Node s, Node p, Node o) + { return table.deleteRow(s, p, o) ; } @@ -72,11 +73,11 @@ public class TripleTable extends TableBase { Iterator<Tuple<NodeId>> iter = table.findAsNodeIds(s, p, o) ; if ( iter == null ) - return new NullIterator<>() ; + return Iter.nullIterator(); Iterator<Triple> iter2 = TupleLib.convertToTriples(table.getNodeTable(), iter) ; return iter2 ; } - + /** Clear - does not clear the associated node tuple table */ public void clearTriples() { table.clear() ; } diff --git a/jena-tdb1/src/main/java/org/apache/jena/tdb1/store/nodetupletable/NodeTupleTableConcrete.java b/jena-tdb1/src/main/java/org/apache/jena/tdb1/store/nodetupletable/NodeTupleTableConcrete.java index 23508cb70d..acb7592c14 100644 --- a/jena-tdb1/src/main/java/org/apache/jena/tdb1/store/nodetupletable/NodeTupleTableConcrete.java +++ b/jena-tdb1/src/main/java/org/apache/jena/tdb1/store/nodetupletable/NodeTupleTableConcrete.java @@ -23,7 +23,6 @@ import static java.lang.String.format ; import java.util.Iterator ; import org.apache.jena.atlas.iterator.Iter ; -import org.apache.jena.atlas.iterator.NullIterator ; import org.apache.jena.atlas.lib.tuple.Tuple ; import org.apache.jena.atlas.lib.tuple.TupleFactory ; import org.apache.jena.graph.Node ; @@ -127,7 +126,7 @@ public class NodeTupleTableConcrete implements NodeTupleTable try { startRead() ; Iterator<Tuple<NodeId>> iter1 = findAsNodeIds(nodes) ; // **public call - if (iter1 == null) return new NullIterator<>() ; + if (iter1 == null) return Iter.nullIterator(); ; Iterator<Tuple<Node>> iter2 = TupleLib.convertToNodes(nodeTable, iter1) ; // iteratorControl() not needed due to public call above. return iter2 ; diff --git a/jena-tdb1/src/main/java/org/apache/jena/tdb1/store/tupletable/TupleIndexRecord.java b/jena-tdb1/src/main/java/org/apache/jena/tdb1/store/tupletable/TupleIndexRecord.java index e5ef0c5db5..9a3081167f 100644 --- a/jena-tdb1/src/main/java/org/apache/jena/tdb1/store/tupletable/TupleIndexRecord.java +++ b/jena-tdb1/src/main/java/org/apache/jena/tdb1/store/tupletable/TupleIndexRecord.java @@ -133,9 +133,9 @@ public class TupleIndexRecord extends TupleIndexBase // Is it a simple existence test? if ( numSlots == pattern.len() ) { if ( index.contains(minRec) ) - return new SingletonIterator<>(pattern); + return Iter.singletonIterator(pattern); else - return new NullIterator<>(); + return Iter.nullIterator(); } Iterator<Record> iter = null; diff --git a/jena-tdb2/src/main/java/org/apache/jena/tdb2/store/tupletable/TupleIndexRecord.java b/jena-tdb2/src/main/java/org/apache/jena/tdb2/store/tupletable/TupleIndexRecord.java index 56c13b7a88..09540ad9b4 100644 --- a/jena-tdb2/src/main/java/org/apache/jena/tdb2/store/tupletable/TupleIndexRecord.java +++ b/jena-tdb2/src/main/java/org/apache/jena/tdb2/store/tupletable/TupleIndexRecord.java @@ -26,8 +26,6 @@ import java.util.Iterator; import java.util.function.Predicate; import org.apache.jena.atlas.iterator.Iter; -import org.apache.jena.atlas.iterator.NullIterator; -import org.apache.jena.atlas.iterator.SingletonIterator; import org.apache.jena.atlas.lib.tuple.Tuple; import org.apache.jena.atlas.lib.tuple.TupleFactory; import org.apache.jena.atlas.lib.tuple.TupleMap; @@ -179,9 +177,9 @@ public class TupleIndexRecord extends TupleIndexBase // Is it a simple existence test? if ( numSlots == pattern.len() ) { if ( index.contains(minRec) ) - return new SingletonIterator<>(pattern); + return Iter.singletonIterator(pattern); else - return new NullIterator<>(); + return Iter.nullIterator(); } // ---- Retrieval.
