http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialDocProducerTriples.java ---------------------------------------------------------------------- diff --git a/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialDocProducerTriples.java b/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialDocProducerTriples.java index 5445aeb..e3f0b73 100644 --- a/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialDocProducerTriples.java +++ b/jena-spatial/src/main/java/org/apache/jena/query/spatial/SpatialDocProducerTriples.java @@ -18,13 +18,7 @@ package org.apache.jena.query.spatial; -import java.util.List; - -import org.apache.jena.atlas.iterator.Iter; -import org.apache.jena.atlas.iterator.Transform; import org.apache.jena.graph.Node ; -import org.apache.jena.graph.Triple ; -import org.apache.jena.sparql.core.Quad ; import org.apache.jena.sparql.core.QuadAction ; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -62,17 +56,4 @@ public class SpatialDocProducerTriples implements SpatialDocProducer { return; context.index(g, s, p, o); } - - static Transform<Quad, Triple> QuadsToTriples = new Transform<Quad, Triple>() { - @Override - public Triple convert(Quad item) { - return item.asTriple(); - } - - }; - - static private List<Triple> quadsToTriples(List<Quad> quads) { - return Iter.map(quads, QuadsToTriples); - } - }
http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-tdb/src/main/java/org/apache/jena/tdb/base/block/BlockMgrCache.java ---------------------------------------------------------------------- diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/base/block/BlockMgrCache.java b/jena-tdb/src/main/java/org/apache/jena/tdb/base/block/BlockMgrCache.java index ac9e67f..4b884e8 100644 --- a/jena-tdb/src/main/java/org/apache/jena/tdb/base/block/BlockMgrCache.java +++ b/jena-tdb/src/main/java/org/apache/jena/tdb/base/block/BlockMgrCache.java @@ -19,8 +19,8 @@ package org.apache.jena.tdb.base.block; import java.util.Iterator ; +import java.util.function.BiConsumer; -import org.apache.jena.atlas.lib.ActionKeyValue ; import org.apache.jena.atlas.lib.Cache ; import org.apache.jena.atlas.lib.CacheFactory ; import org.slf4j.Logger ; @@ -67,9 +67,9 @@ public class BlockMgrCache extends BlockMgrSync else { writeCache = CacheFactory.createCache(writeSlots) ; - writeCache.setDropHandler(new ActionKeyValue<Long, Block>(){ + writeCache.setDropHandler(new BiConsumer<Long, Block>(){ @Override - public void apply(Long id, Block block) + public void accept(Long id, Block block) { // We're inside a synchronized operation at this point. log("Cache spill: write block: %d", id) ; http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-tdb/src/main/java/org/apache/jena/tdb/index/bplustree/BPlusTreeRewriter.java ---------------------------------------------------------------------- diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/index/bplustree/BPlusTreeRewriter.java b/jena-tdb/src/main/java/org/apache/jena/tdb/index/bplustree/BPlusTreeRewriter.java index a6c01ff..3f29ae3 100644 --- a/jena-tdb/src/main/java/org/apache/jena/tdb/index/bplustree/BPlusTreeRewriter.java +++ b/jena-tdb/src/main/java/org/apache/jena/tdb/index/bplustree/BPlusTreeRewriter.java @@ -23,10 +23,10 @@ import static org.apache.jena.tdb.index.bplustree.BPlusTreeRewriterUtils.printIn import static org.apache.jena.tdb.index.bplustree.BPlusTreeRewriterUtils.summarizeDataBlocks ; import java.util.Iterator ; +import java.util.function.Function; import org.apache.jena.atlas.iterator.Iter ; import org.apache.jena.atlas.iterator.IteratorWithBuffer ; -import org.apache.jena.atlas.iterator.Transform ; import org.apache.jena.atlas.lib.Pair ; import org.apache.jena.tdb.base.block.BlockMgr ; import org.apache.jena.tdb.base.buffer.PtrBuffer ; @@ -141,17 +141,13 @@ public class BPlusTreeRewriter final RecordBufferPageMgr mgr = bpt.getRecordsMgr().getRecordBufferPageMgr() ; Iterator<RecordBufferPage> iter = new RecordBufferPageLinker(new RecordBufferPagePacker(records, mgr)) ; - Transform<RecordBufferPage, Pair<Integer, Record>> transform = new Transform<RecordBufferPage, Pair<Integer, Record>>() - { - @Override - public Pair<Integer, Record> convert(RecordBufferPage rbp) + Function<RecordBufferPage, Pair<Integer, Record>> transform = rbp -> { mgr.put(rbp) ; Record r = rbp.getRecordBuffer().getHigh() ; r = bpt.getRecordFactory().createKeyOnly(r) ; return new Pair<>(rbp.getId(), r) ; - } - } ; + }; // Write and convert to split pairs. Iterator<Pair<Integer, Record>> iter2 = Iter.map(iter, transform) ; http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-tdb/src/main/java/org/apache/jena/tdb/lib/NodeLib.java ---------------------------------------------------------------------- diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/lib/NodeLib.java b/jena-tdb/src/main/java/org/apache/jena/tdb/lib/NodeLib.java index 3d1c8f7..e9cf3e9 100644 --- a/jena-tdb/src/main/java/org/apache/jena/tdb/lib/NodeLib.java +++ b/jena-tdb/src/main/java/org/apache/jena/tdb/lib/NodeLib.java @@ -27,7 +27,6 @@ import java.security.NoSuchAlgorithmException ; import java.util.Iterator ; import org.apache.jena.atlas.iterator.Iter ; -import org.apache.jena.atlas.iterator.Transform ; import org.apache.jena.atlas.lib.Bytes ; import org.apache.jena.atlas.lib.Pool ; import org.apache.jena.atlas.lib.PoolBase ; @@ -222,12 +221,6 @@ public class NodeLib public static Iterator<Node> nodes(final NodeTable nodeTable, Iterator<NodeId> iter) { - return Iter.map(iter, new Transform<NodeId, Node>(){ - @Override - public Node convert(NodeId item) - { - return nodeTable.getNodeForNodeId(item) ; - } - }) ; + return Iter.map(iter, nodeTable::getNodeForNodeId) ; } } http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-tdb/src/main/java/org/apache/jena/tdb/lib/TupleLib.java ---------------------------------------------------------------------- diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/lib/TupleLib.java b/jena-tdb/src/main/java/org/apache/jena/tdb/lib/TupleLib.java index ff9687e..1925c87 100644 --- a/jena-tdb/src/main/java/org/apache/jena/tdb/lib/TupleLib.java +++ b/jena-tdb/src/main/java/org/apache/jena/tdb/lib/TupleLib.java @@ -21,9 +21,7 @@ package org.apache.jena.tdb.lib; import static org.apache.jena.tdb.sys.SystemTDB.SizeOfLong ; import java.util.Iterator; - import org.apache.jena.atlas.iterator.Iter ; -import org.apache.jena.atlas.iterator.Transform ; import org.apache.jena.atlas.lib.Bytes ; import org.apache.jena.atlas.lib.ColumnMap ; import org.apache.jena.atlas.lib.InternalErrorException ; @@ -45,47 +43,23 @@ public class TupleLib { public static Iterator<Tuple<Node>> convertToNodes(final NodeTable nodeTable, Iterator<Tuple<NodeId>> iter) { - Transform<Tuple<NodeId>, Tuple<Node>> action = new Transform<Tuple<NodeId>, Tuple<Node>>(){ - @Override - public Tuple<Node> convert(Tuple<NodeId> item) - { - return tupleNodes(nodeTable, item) ; - }} ; - return Iter.map(iter, action) ; + return Iter.map(iter, item -> tupleNodes(nodeTable, item)) ; } public static Iterator<Tuple<NodeId>> convertToNodeId(final NodeTable nodeTable, Iterator<Tuple<Node>> iter) { - Transform<Tuple<Node>, Tuple<NodeId>> action = new Transform<Tuple<Node>, Tuple<NodeId>>(){ - @Override - public Tuple<NodeId> convert(Tuple<Node> item) - { - return tupleNodeIds(nodeTable, item) ; - }} ; - return Iter.map(iter, action) ; + return Iter.map(iter, item -> tupleNodeIds(nodeTable, item)) ; } //Leave - bypasses extract step in Tuple<NodeId> -> Tuple<Node> -> Triple public static Iterator<Triple> convertToTriples(final NodeTable nodeTable, Iterator<Tuple<NodeId>> iter) { - Transform<Tuple<NodeId>, Triple> action = new Transform<Tuple<NodeId>, Triple>(){ - @Override - public Triple convert(Tuple<NodeId> item) - { - return triple(nodeTable, item) ; - }} ; - return Iter.map(iter, action) ; + return Iter.map(iter, item -> triple(nodeTable, item)) ; } public static Iterator<Quad> convertToQuads(final NodeTable nodeTable, Iterator<Tuple<NodeId>> iter) { - Transform<Tuple<NodeId>, Quad> action = new Transform<Tuple<NodeId>, Quad>(){ - @Override - public Quad convert(Tuple<NodeId> item) - { - return quad(nodeTable, item) ; - }} ; - return Iter.map(iter, action) ; + return Iter.map(iter, item -> quad(nodeTable, item)) ; } public static Tuple<Node> tupleNodes(NodeTable nodeTable, Tuple<NodeId> ids) http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-tdb/src/main/java/org/apache/jena/tdb/solver/OpExecutorTDB1.java ---------------------------------------------------------------------- diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/solver/OpExecutorTDB1.java b/jena-tdb/src/main/java/org/apache/jena/tdb/solver/OpExecutorTDB1.java index e1ab89f..77cfbfa 100644 --- a/jena-tdb/src/main/java/org/apache/jena/tdb/solver/OpExecutorTDB1.java +++ b/jena-tdb/src/main/java/org/apache/jena/tdb/solver/OpExecutorTDB1.java @@ -18,8 +18,9 @@ package org.apache.jena.tdb.solver; -import org.apache.jena.atlas.iterator.Filter ; -import org.apache.jena.atlas.lib.Tuple ; +import java.util.function.Predicate; + +import org.apache.jena.atlas.lib.Tuple; import org.apache.jena.atlas.logging.Log ; import org.apache.jena.graph.Graph ; import org.apache.jena.graph.Node ; @@ -44,7 +45,7 @@ import org.apache.jena.sparql.expr.ExprList ; import org.apache.jena.sparql.mgt.Explain ; import org.apache.jena.tdb.store.DatasetGraphTDB ; import org.apache.jena.tdb.store.GraphTDB ; -import org.apache.jena.tdb.store.NodeId ; +import org.apache.jena.tdb.store.NodeId; import org.slf4j.Logger ; import org.slf4j.LoggerFactory ; @@ -345,7 +346,7 @@ public class OpExecutorTDB1 extends OpExecutor protected QueryIterator execute(OpDatasetNames dsNames, QueryIterator input) { DatasetGraphTDB ds = (DatasetGraphTDB)execCxt.getDataset() ; - Filter<Tuple<NodeId>> filter = QC2.getFilter(execCxt.getContext()) ; + Predicate<Tuple<NodeId>> filter = QC2.getFilter(execCxt.getContext()) ; Node gn = dsNames.getGraphNode() ; if ( Var.isVar(gn) ) return SolverLib.graphNames(ds, dsNames.getGraphNode(), input, filter, execCxt) ; @@ -368,7 +369,7 @@ public class OpExecutorTDB1 extends OpExecutor /** An op executor that simply executes a BGP or QuadPattern without any reordering */ private static class OpExecutorPlainTDB extends OpExecutor { - Filter<Tuple<NodeId>> filter = null ; + Predicate<Tuple<NodeId>> filter = null ; public OpExecutorPlainTDB(ExecutionContext execCxt) { http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-tdb/src/main/java/org/apache/jena/tdb/solver/QC2.java ---------------------------------------------------------------------- diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/solver/QC2.java b/jena-tdb/src/main/java/org/apache/jena/tdb/solver/QC2.java index 26200c3..331ac59 100644 --- a/jena-tdb/src/main/java/org/apache/jena/tdb/solver/QC2.java +++ b/jena-tdb/src/main/java/org/apache/jena/tdb/solver/QC2.java @@ -18,7 +18,8 @@ package org.apache.jena.tdb.solver; -import org.apache.jena.atlas.iterator.Filter ; +import java.util.function.Predicate; + import org.apache.jena.atlas.lib.Tuple ; import org.apache.jena.sparql.util.Context ; import org.apache.jena.tdb.TDBException ; @@ -27,13 +28,13 @@ import org.apache.jena.tdb.sys.SystemTDB ; public class QC2 { - public static Filter<Tuple<NodeId>> getFilter(Context context) + public static Predicate<Tuple<NodeId>> getFilter(Context context) { Object x = context.get(SystemTDB.symTupleFilter) ; try { @SuppressWarnings("unchecked") - Filter<Tuple<NodeId>> f = (Filter<Tuple<NodeId>>)x ; + Predicate<Tuple<NodeId>> f = (Predicate<Tuple<NodeId>>)x ; return f ; } catch (ClassCastException ex) { @@ -41,7 +42,7 @@ public class QC2 } } - public static void setFilter(Context context, Filter<Tuple<NodeId>> filter) + public static void setFilter(Context context, Predicate<Tuple<NodeId>> filter) { context.set(SystemTDB.symTupleFilter, filter) ; } http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-tdb/src/main/java/org/apache/jena/tdb/solver/SolverLib.java ---------------------------------------------------------------------- diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/solver/SolverLib.java b/jena-tdb/src/main/java/org/apache/jena/tdb/solver/SolverLib.java index b92bfc1..cf813e1 100644 --- a/jena-tdb/src/main/java/org/apache/jena/tdb/solver/SolverLib.java +++ b/jena-tdb/src/main/java/org/apache/jena/tdb/solver/SolverLib.java @@ -21,6 +21,9 @@ package org.apache.jena.tdb.solver; import static org.apache.jena.tdb.lib.Lib2.printAbbrev ; import java.util.* ; +import java.util.function.Consumer; +import java.util.function.Function; +import java.util.function.Predicate; import org.apache.jena.atlas.iterator.* ; import org.apache.jena.atlas.lib.Tuple ; @@ -54,7 +57,7 @@ public class SolverLib /** Non-reordering execution of a basic graph pattern, given a iterator of bindings as input */ public static QueryIterator execute(GraphTDB graph, BasicPattern pattern, - QueryIterator input, Filter<Tuple<NodeId>> filter, + QueryIterator input, Predicate<Tuple<NodeId>> filter, ExecutionContext execCxt) { // Maybe default graph or named graph. @@ -67,7 +70,7 @@ public class SolverLib * GraphNode is null for execution over the real default graph. */ public static QueryIterator execute(DatasetGraphTDB ds, Node graphNode, BasicPattern pattern, - QueryIterator input, Filter<Tuple<NodeId>> filter, + QueryIterator input, Predicate<Tuple<NodeId>> filter, ExecutionContext execCxt) { NodeTupleTable ntt = ds.chooseNodeTupleTable(graphNode) ; @@ -81,14 +84,14 @@ public class SolverLib * (in convToBinding(BindingNodeId, NodeTable) */ public static Iterator<Binding> convertToNodes(Iterator<BindingNodeId> iterBindingIds, NodeTable nodeTable) - { return Iter.map(iterBindingIds, convToBinding(nodeTable)) ; } + { return Iter.map(iterBindingIds, bindingNodeIds -> convToBinding(bindingNodeIds, nodeTable)) ; } // The worker. Callers choose the NodeTupleTable. // graphNode may be Node.ANY, meaning we should make triples unique. // graphNode may be null, meaning default graph private static QueryIterator execute(NodeTupleTable nodeTupleTable, Node graphNode, BasicPattern pattern, - QueryIterator input, Filter<Tuple<NodeId>> filter, + QueryIterator input, Predicate<Tuple<NodeId>> filter, ExecutionContext execCxt) { if ( Quad.isUnionGraph(graphNode) ) @@ -202,21 +205,11 @@ public class SolverLib public static Iterator<BindingNodeId> solve(NodeTupleTable nodeTupleTable, Tuple<Node> tuple, boolean anyGraph, - Iterator<BindingNodeId> chain, Filter<Tuple<NodeId>> filter, + Iterator<BindingNodeId> chain, Predicate<Tuple<NodeId>> filter, ExecutionContext execCxt) { return new StageMatchTuple(nodeTupleTable, chain, tuple, anyGraph, filter, execCxt) ; } - - // Transform : BindingNodeId ==> Binding - private static Transform<BindingNodeId, Binding> convToBinding(final NodeTable nodeTable) { - return new Transform<BindingNodeId, Binding>() { - @Override - public Binding convert(BindingNodeId bindingNodeIds) { - return convToBinding(bindingNodeIds, nodeTable) ; - } - } ; - } public static Binding convToBinding(BindingNodeId bindingNodeIds, NodeTable nodeTable) { if ( true ) @@ -235,15 +228,9 @@ public class SolverLib } // Transform : Binding ==> BindingNodeId - public static Transform<Binding, BindingNodeId> convFromBinding(final NodeTable nodeTable) + public static Function<Binding, BindingNodeId> convFromBinding(final NodeTable nodeTable) { - return new Transform<Binding, BindingNodeId>() - { - @Override - public BindingNodeId convert(Binding binding) { - return SolverLib.convert(binding, nodeTable) ; - } - } ; + return binding -> SolverLib.convert(binding, nodeTable); } /** Binding ==> BindingNodeId, given a NodeTable */ @@ -276,7 +263,7 @@ public class SolverLib /** Find whether a specific graph name is in the quads table. */ public static QueryIterator testForGraphName(DatasetGraphTDB ds, Node graphNode, QueryIterator input, - Filter<Tuple<NodeId>> filter, ExecutionContext execCxt) { + Predicate<Tuple<NodeId>> filter, ExecutionContext execCxt) { NodeId nid = TDBInternal.getNodeId(ds, graphNode) ; boolean exists = !NodeId.isDoesNotExist(nid) ; if ( exists ) { @@ -302,7 +289,7 @@ public class SolverLib /** Find all the graph names in the quads table. */ public static QueryIterator graphNames(DatasetGraphTDB ds, Node graphNode, QueryIterator input, - Filter<Tuple<NodeId>> filter, ExecutionContext execCxt) { + Predicate<Tuple<NodeId>> filter, ExecutionContext execCxt) { List<Abortable> killList = new ArrayList<>() ; Iterator<Tuple<NodeId>> iter1 = ds.getQuadTable().getNodeTupleTable().find(NodeId.NodeIdAny, NodeId.NodeIdAny, NodeId.NodeIdAny, NodeId.NodeIdAny) ; @@ -319,14 +306,7 @@ public class SolverLib Iterator<Node> iter4 = NodeLib.nodes(ds.getQuadTable().getNodeTupleTable().getNodeTable(), iter3) ; final Var var = Var.alloc(graphNode) ; - Transform<Node, Binding> bindGraphName = new Transform<Node, Binding>() { - @Override - public Binding convert(Node node) { - return BindingFactory.binding(var, node) ; - } - } ; - - Iterator<Binding> iterBinding = Iter.map(iter4, bindGraphName) ; + Iterator<Binding> iterBinding = Iter.map(iter4, node -> BindingFactory.binding(var, node)) ; // Not abortable. return new QueryIterTDB(iterBinding, killList, input, execCxt) ; } @@ -364,10 +344,6 @@ public class SolverLib } // -- Mutating "transform in place" - private static Action<Tuple<NodeId>> quadsToAnyTriples = new Action<Tuple<NodeId>>(){ - @Override - public void apply(Tuple<NodeId> item) - { item.tuple()[0] = NodeId.NodeIdAny ; } - } ; + private static Consumer<Tuple<NodeId>> quadsToAnyTriples = item -> item.tuple()[0] = NodeId.NodeIdAny ; } http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-tdb/src/main/java/org/apache/jena/tdb/solver/StageGeneratorDirectTDB.java ---------------------------------------------------------------------- diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/solver/StageGeneratorDirectTDB.java b/jena-tdb/src/main/java/org/apache/jena/tdb/solver/StageGeneratorDirectTDB.java index bb76f7c..78bd791 100644 --- a/jena-tdb/src/main/java/org/apache/jena/tdb/solver/StageGeneratorDirectTDB.java +++ b/jena-tdb/src/main/java/org/apache/jena/tdb/solver/StageGeneratorDirectTDB.java @@ -18,15 +18,16 @@ package org.apache.jena.tdb.solver; -import org.apache.jena.atlas.iterator.Filter ; -import org.apache.jena.atlas.lib.Tuple ; +import java.util.function.Predicate; + +import org.apache.jena.atlas.lib.Tuple; import org.apache.jena.graph.Graph ; import org.apache.jena.sparql.core.BasicPattern ; import org.apache.jena.sparql.engine.ExecutionContext ; import org.apache.jena.sparql.engine.QueryIterator ; import org.apache.jena.sparql.engine.main.StageGenerator ; import org.apache.jena.tdb.store.GraphTDB ; -import org.apache.jena.tdb.store.NodeId ; +import org.apache.jena.tdb.store.NodeId; /** Execute TDB requests directly -- no reordering * Using OpExecutor is preferred. @@ -51,7 +52,7 @@ public class StageGeneratorDirectTDB implements StageGenerator // Not us - bounce up the StageGenerator chain return above.execute(pattern, input, execCxt) ; GraphTDB graph = (GraphTDB)g ; - Filter<Tuple<NodeId>> filter = QC2.getFilter(execCxt.getContext()) ; + Predicate<Tuple<NodeId>> filter = QC2.getFilter(execCxt.getContext()) ; return SolverLib.execute(graph, pattern, input, filter, execCxt) ; } } http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-tdb/src/main/java/org/apache/jena/tdb/solver/StageMatchTuple.java ---------------------------------------------------------------------- diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/solver/StageMatchTuple.java b/jena-tdb/src/main/java/org/apache/jena/tdb/solver/StageMatchTuple.java index 77cdbdd..398502e 100644 --- a/jena-tdb/src/main/java/org/apache/jena/tdb/solver/StageMatchTuple.java +++ b/jena-tdb/src/main/java/org/apache/jena/tdb/solver/StageMatchTuple.java @@ -21,6 +21,9 @@ package org.apache.jena.tdb.solver; import java.util.Iterator; import java.util.List; +import java.util.function.Consumer; +import java.util.function.Function; +import java.util.function.Predicate; import org.apache.jena.atlas.iterator.* ; import org.apache.jena.atlas.lib.Tuple ; @@ -38,11 +41,11 @@ public class StageMatchTuple extends RepeatApplyIterator<BindingNodeId> private final ExecutionContext execCxt ; private boolean anyGraphs ; - private Filter<Tuple<NodeId>> filter ; + private Predicate<Tuple<NodeId>> filter ; public StageMatchTuple(NodeTupleTable nodeTupleTable, Iterator<BindingNodeId> input, Tuple<Node> tuple, boolean anyGraphs, - Filter<Tuple<NodeId>> filter, + Predicate<Tuple<NodeId>> filter, ExecutionContext execCxt) { super(input) ; @@ -117,10 +120,7 @@ public class StageMatchTuple extends RepeatApplyIterator<BindingNodeId> } // Map Tuple<NodeId> to BindingNodeId - Transform<Tuple<NodeId>, BindingNodeId> binder = new Transform<Tuple<NodeId>, BindingNodeId>() - { - @Override - public BindingNodeId convert(Tuple<NodeId> tuple) + Function<Tuple<NodeId>, BindingNodeId> binder = tuple -> { BindingNodeId output = new BindingNodeId(input) ; for ( int i = 0 ; i < var.length ; i++ ) @@ -134,27 +134,11 @@ public class StageMatchTuple extends RepeatApplyIterator<BindingNodeId> output.put(v, id) ; } return output ; - } } ; return Iter.iter(iterMatches).map(binder).removeNulls() ; } - - // -- Copying - private static Transform<Tuple<NodeId>,Tuple<NodeId>> projectToTriples = new Transform<Tuple<NodeId>,Tuple<NodeId>>(){ - @Override - public Tuple<NodeId> convert(Tuple<NodeId> item) - { - // Zap graph node id. - Tuple<NodeId> t2 = Tuple.createTuple(NodeId.NodeIdAny, // Can't be null - gets bound to a daft variable. - item.get(1), - item.get(2), - item.get(3)) ; - return t2 ; - } } ; - - private static Iterator<Tuple<NodeId>> print(Iterator<Tuple<NodeId>> iter) { if ( ! iter.hasNext() ) @@ -202,9 +186,5 @@ public class StageMatchTuple extends RepeatApplyIterator<BindingNodeId> } // -- Mutating "transform in place" - private static Action<Tuple<NodeId>> quadsToAnyTriples = new Action<Tuple<NodeId>>(){ - @Override - public void apply(Tuple<NodeId> item) - { item.tuple()[0] = NodeId.NodeIdAny ; } - } ; + private static Consumer<Tuple<NodeId>> quadsToAnyTriples = item -> item.tuple()[0] = NodeId.NodeIdAny ; } http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-tdb/src/main/java/org/apache/jena/tdb/solver/stats/StatsCollectorBase.java ---------------------------------------------------------------------- diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/solver/stats/StatsCollectorBase.java b/jena-tdb/src/main/java/org/apache/jena/tdb/solver/stats/StatsCollectorBase.java index 620b34a..72f0d97 100644 --- a/jena-tdb/src/main/java/org/apache/jena/tdb/solver/stats/StatsCollectorBase.java +++ b/jena-tdb/src/main/java/org/apache/jena/tdb/solver/stats/StatsCollectorBase.java @@ -22,7 +22,6 @@ package org.apache.jena.tdb.solver.stats; import java.util.HashMap ; import java.util.Map ; -import org.apache.jena.atlas.lib.MapUtils ; import org.apache.jena.graph.Node ; /** Statistics collector, general purpose */ @@ -41,9 +40,9 @@ abstract class StatsCollectorBase<T> public void record(T g, T s, T p, T o) { count++ ; - MapUtils.increment(predicates, p) ; + predicates.put(p, predicates.getOrDefault(p, 0) + 1); if ( typeTrigger != null && typeTrigger.equals(p) ) - MapUtils.increment(types, o) ; + types.put(o, types.getOrDefault(o, 0) + 1); } protected abstract Map<Node, Integer> convert(Map<T, Integer> map) ; http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-tdb/src/main/java/org/apache/jena/tdb/store/DatasetGraphTDB.java ---------------------------------------------------------------------- diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/store/DatasetGraphTDB.java b/jena-tdb/src/main/java/org/apache/jena/tdb/store/DatasetGraphTDB.java index c577861..55dfe53 100644 --- a/jena-tdb/src/main/java/org/apache/jena/tdb/store/DatasetGraphTDB.java +++ b/jena-tdb/src/main/java/org/apache/jena/tdb/store/DatasetGraphTDB.java @@ -20,9 +20,7 @@ package org.apache.jena.tdb.store; import java.util.Iterator ; - import org.apache.jena.atlas.iterator.Iter ; -import org.apache.jena.atlas.iterator.Transform ; import org.apache.jena.atlas.lib.Closeable ; import org.apache.jena.atlas.lib.Sync ; import org.apache.jena.atlas.lib.Tuple ; @@ -171,21 +169,12 @@ public class DatasetGraphTDB extends DatasetGraphCaching public ReorderTransformation getReorderTransform() { return transform ; } public DatasetPrefixesTDB getPrefixes() { return prefixes ; } - - static private Transform<Tuple<NodeId>, NodeId> project0 = new Transform<Tuple<NodeId>, NodeId>() - { - @Override - public NodeId convert(Tuple<NodeId> item) - { - return item.get(0) ; - } - } ; @Override public Iterator<Node> listGraphNodes() { Iterator<Tuple<NodeId>> x = quadTable.getNodeTupleTable().findAll() ; - Iterator<NodeId> z = Iter.iter(x).map(project0).distinct() ; + Iterator<NodeId> z = Iter.iter(x).map(t -> t.get(0)).distinct() ; return NodeLib.nodes(quadTable.getNodeTupleTable().getNodeTable(), z) ; } http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-tdb/src/main/java/org/apache/jena/tdb/store/GraphTDB.java ---------------------------------------------------------------------- diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/store/GraphTDB.java b/jena-tdb/src/main/java/org/apache/jena/tdb/store/GraphTDB.java index 17d2e25..93fbf69 100644 --- a/jena-tdb/src/main/java/org/apache/jena/tdb/store/GraphTDB.java +++ b/jena-tdb/src/main/java/org/apache/jena/tdb/store/GraphTDB.java @@ -19,9 +19,9 @@ package org.apache.jena.tdb.store ; import java.util.Iterator ; +import java.util.function.Function; import org.apache.jena.atlas.iterator.Iter ; -import org.apache.jena.atlas.iterator.Transform ; import org.apache.jena.atlas.lib.Closeable ; import org.apache.jena.atlas.lib.Sync ; import org.apache.jena.atlas.lib.Tuple ; @@ -166,18 +166,11 @@ public class GraphTDB extends GraphView implements Closeable, Sync { return (int)Iter.count(iter) ; } - private static Transform<Tuple<NodeId>, Tuple<NodeId>> project4TupleTo3Tuple = new Transform<Tuple<NodeId>, Tuple<NodeId>>() { - @Override - public Tuple<NodeId> convert(Tuple<NodeId> item) { - if ( item.size() != 4 ) - throw new TDBException( - "Expected a Tuple of 4, got: " - + item) ; - return Tuple.createTuple(item.get(1), - item.get(2), - item.get(3)) ; - } - } ; + private static Function<Tuple<NodeId>, Tuple<NodeId>> project4TupleTo3Tuple = item -> { + if (item.size() != 4) + throw new TDBException("Expected a Tuple of 4, got: " + item); + return Tuple.createTuple(item.get(1), item.get(2), item.get(3)); + }; // Convert from Iterator<Quad> to Iterator<Triple> static class ProjectQuadsToTriples implements Iterator<Triple> { http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-tdb/src/main/java/org/apache/jena/tdb/store/QuadTable.java ---------------------------------------------------------------------- diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/store/QuadTable.java b/jena-tdb/src/main/java/org/apache/jena/tdb/store/QuadTable.java index 894b49e..313d8d5 100644 --- a/jena-tdb/src/main/java/org/apache/jena/tdb/store/QuadTable.java +++ b/jena-tdb/src/main/java/org/apache/jena/tdb/store/QuadTable.java @@ -20,9 +20,7 @@ package org.apache.jena.tdb.store; import java.util.Iterator ; - import org.apache.jena.atlas.iterator.NullIterator ; -import org.apache.jena.atlas.iterator.Transform ; import org.apache.jena.atlas.lib.Tuple ; import org.apache.jena.graph.Node ; import org.apache.jena.graph.Triple ; @@ -89,13 +87,6 @@ public class QuadTable extends TableBase Iterator<Quad> iter2 = TupleLib.convertToQuads(table.getNodeTable(), iter) ; return iter2 ; } - - private static Transform<Tuple<Node>, Quad> action = new Transform<Tuple<Node>, Quad>(){ - @Override - public Quad convert(Tuple<Node> item) - { - return new Quad(item.get(0), item.get(1), item.get(2), item.get(3)) ; - }} ; /** Clear - does not clear the associated node tuple table */ public void clearQuads() http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-tdb/src/main/java/org/apache/jena/tdb/store/TripleTable.java ---------------------------------------------------------------------- diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/store/TripleTable.java b/jena-tdb/src/main/java/org/apache/jena/tdb/store/TripleTable.java index e79f7da..5dfc17e 100644 --- a/jena-tdb/src/main/java/org/apache/jena/tdb/store/TripleTable.java +++ b/jena-tdb/src/main/java/org/apache/jena/tdb/store/TripleTable.java @@ -20,9 +20,7 @@ package org.apache.jena.tdb.store; import java.util.Iterator ; - import org.apache.jena.atlas.iterator.NullIterator ; -import org.apache.jena.atlas.iterator.Transform ; import org.apache.jena.atlas.lib.Tuple ; import org.apache.jena.graph.Node ; import org.apache.jena.graph.Triple ; @@ -79,13 +77,6 @@ public class TripleTable extends TableBase return iter2 ; } - private static Transform<Tuple<Node>, Triple> action = new Transform<Tuple<Node>, Triple>(){ - @Override - public Triple convert(Tuple<Node> item) - { - return new Triple(item.get(0), item.get(1), item.get(2)) ; - }} ; - /** Clear - does not clear the associated node tuple table */ public void clearTriples() { table.clear() ; } http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-tdb/src/main/java/org/apache/jena/tdb/store/nodetable/NodeTableNative.java ---------------------------------------------------------------------- diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/store/nodetable/NodeTableNative.java b/jena-tdb/src/main/java/org/apache/jena/tdb/store/nodetable/NodeTableNative.java index e5796ca..51ceee1 100644 --- a/jena-tdb/src/main/java/org/apache/jena/tdb/store/nodetable/NodeTableNative.java +++ b/jena-tdb/src/main/java/org/apache/jena/tdb/store/nodetable/NodeTableNative.java @@ -22,9 +22,9 @@ import static org.apache.jena.tdb.lib.NodeLib.setHash ; import java.nio.ByteBuffer ; import java.util.Iterator ; +import java.util.function.Function; import org.apache.jena.atlas.iterator.Iter ; -import org.apache.jena.atlas.iterator.Transform ; import org.apache.jena.atlas.lib.Pair ; import org.apache.jena.graph.Node ; import org.apache.jena.tdb.TDBException ; @@ -214,37 +214,16 @@ public class NodeTableNative implements NodeTable @Override public Iterator<Pair<NodeId, Node>> all() { return all2() ; } - private Iterator<Pair<NodeId, Node>> all1() - - { - // Could be quicker by hoping down the objects files. - Iterator<Record> iter = nodeHashToId.iterator() ; - - Transform<Record, Pair<NodeId, Node>> transform = new Transform<Record, Pair<NodeId, Node>>() { - @Override - public Pair<NodeId, Node> convert(Record item) - { - NodeId id = NodeId.create(item.getValue(), 0) ; - Node n = NodeLib.fetchDecode(id.getId(), getObjects()) ; - return new Pair<>(id, n) ; - }}; - return Iter.map(iter, transform) ; - } - private Iterator<Pair<NodeId, Node>> all2() { Iterator<Pair<Long, ByteBuffer>> objs = objects.all() ; - Transform<Pair<Long, ByteBuffer>, Pair<NodeId, Node>> transform = new Transform<Pair<Long, ByteBuffer>, Pair<NodeId, Node>>() { - @Override - public Pair<NodeId, Node> convert(Pair<Long, ByteBuffer> item) - { - NodeId id = NodeId.create(item.car().longValue()) ; - ByteBuffer bb = item.cdr(); - Node n = NodeLib.decode(bb) ; - return new Pair<>(id, n) ; - } - }; + Function<Pair<Long, ByteBuffer>, Pair<NodeId, Node>> transform = item -> { + NodeId id = NodeId.create(item.car().longValue()); + ByteBuffer bb = item.cdr(); + Node n = NodeLib.decode(bb); + return new Pair<>(id, n); + }; return Iter.map(objs, transform) ; } http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-tdb/src/main/java/org/apache/jena/tdb/store/tupletable/TupleIndexRecord.java ---------------------------------------------------------------------- diff --git a/jena-tdb/src/main/java/org/apache/jena/tdb/store/tupletable/TupleIndexRecord.java b/jena-tdb/src/main/java/org/apache/jena/tdb/store/tupletable/TupleIndexRecord.java index d4079b0..ead540e 100644 --- a/jena-tdb/src/main/java/org/apache/jena/tdb/store/tupletable/TupleIndexRecord.java +++ b/jena-tdb/src/main/java/org/apache/jena/tdb/store/tupletable/TupleIndexRecord.java @@ -22,6 +22,7 @@ import static java.lang.String.format; import static org.apache.jena.tdb.sys.SystemTDB.SizeOfNodeId ; import java.util.Iterator; +import java.util.function.Predicate; import org.apache.jena.atlas.iterator.* ; import org.apache.jena.atlas.lib.Bytes ; @@ -166,7 +167,7 @@ public class TupleIndexRecord extends TupleIndexBase iter = index.iterator(minRec, maxRec) ; } - Iterator<Tuple<NodeId>> tuples = Iter.map(iter, transformToTuple) ; + Iterator<Tuple<NodeId>> tuples = Iter.map(iter, item -> TupleLib.tuple(item, colMap)) ; if ( leadingIdx < numSlots-1 ) { @@ -185,25 +186,16 @@ public class TupleIndexRecord extends TupleIndexBase public Iterator<Tuple<NodeId>> all() { Iterator<Record> iter = index.iterator() ; - return Iter.map(iter, transformToTuple) ; + return Iter.map(iter, item -> TupleLib.tuple(item, colMap)) ; } - private final Transform<Record, Tuple<NodeId>> transformToTuple = new Transform<Record, Tuple<NodeId>>() - { - @Override - public final Tuple<NodeId> convert(Record item) - { - return TupleLib.tuple(item, colMap) ; - } - } ; - private Iterator<Tuple<NodeId>> scan(Iterator<Tuple<NodeId>> iter, final Tuple<NodeId> pattern) { - Filter<Tuple<NodeId>> filter = new Filter<Tuple<NodeId>>() + Predicate<Tuple<NodeId>> filter = new Predicate<Tuple<NodeId>>() { @Override - public boolean accept(Tuple<NodeId> item) + public boolean test(Tuple<NodeId> item) { // Check on pattern and item (both in natural order) for ( int i = 0 ; i < tupleLength ; i++ ) http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-tdb/src/test/java/org/apache/jena/tdb/base/record/RecordLib.java ---------------------------------------------------------------------- diff --git a/jena-tdb/src/test/java/org/apache/jena/tdb/base/record/RecordLib.java b/jena-tdb/src/test/java/org/apache/jena/tdb/base/record/RecordLib.java index 79053ad..9d72156 100644 --- a/jena-tdb/src/test/java/org/apache/jena/tdb/base/record/RecordLib.java +++ b/jena-tdb/src/test/java/org/apache/jena/tdb/base/record/RecordLib.java @@ -24,7 +24,6 @@ import java.util.Iterator; import java.util.List; import org.apache.jena.atlas.iterator.Iter ; -import org.apache.jena.atlas.iterator.Transform ; import org.apache.jena.atlas.lib.Bytes ; import org.apache.jena.tdb.base.record.Record ; import org.apache.jena.tdb.base.record.RecordFactory ; @@ -83,13 +82,7 @@ public class RecordLib public static List<Integer> toIntList(Iterator<Record> iter) { - return Iter.toList(Iter.map(iter, new Transform<Record, Integer>(){ - @Override - public Integer convert(Record item) - { - return recordToInt(item) ; - }} - )) ; + return Iter.toList(Iter.map(iter, item -> recordToInt(item))) ; } public static Record r(int v) http://git-wip-us.apache.org/repos/asf/jena/blob/6b475345/jena-tdb/src/test/java/org/apache/jena/tdb/store/TestQuadFilter.java ---------------------------------------------------------------------- diff --git a/jena-tdb/src/test/java/org/apache/jena/tdb/store/TestQuadFilter.java b/jena-tdb/src/test/java/org/apache/jena/tdb/store/TestQuadFilter.java index ee2ff43..9752dac 100644 --- a/jena-tdb/src/test/java/org/apache/jena/tdb/store/TestQuadFilter.java +++ b/jena-tdb/src/test/java/org/apache/jena/tdb/store/TestQuadFilter.java @@ -18,7 +18,8 @@ package org.apache.jena.tdb.store; -import org.apache.jena.atlas.iterator.Filter ; +import java.util.function.Predicate; + import org.apache.jena.atlas.junit.BaseTest ; import org.apache.jena.atlas.lib.Tuple ; import org.apache.jena.graph.NodeFactory ; @@ -61,23 +62,12 @@ public class TestQuadFilter extends BaseTest } /** Create a filter to exclude the graph http://example/g2 */ - private static Filter<Tuple<NodeId>> createFilter(Dataset ds) + private static Predicate<Tuple<NodeId>> createFilter(Dataset ds) { DatasetGraphTDB dsg = (DatasetGraphTDB)(ds.asDatasetGraph()) ; final NodeTable nodeTable = dsg.getQuadTable().getNodeTupleTable().getNodeTable() ; final NodeId target = nodeTable.getNodeIdForNode(NodeFactory.createURI(graphToHide)) ; - Filter<Tuple<NodeId>> filter = new Filter<Tuple<NodeId>>() { - @Override - public boolean accept(Tuple<NodeId> item) - { - // Reverse the lookup as a demo - //Node n = nodeTable.getNodeForNodeId(target) ; - //System.err.println(item) ; - if ( item.size() == 4 && item.get(0).equals(target) ) - return false ; - return true ; - } } ; - return filter ; + return item -> !( item.size() == 4 && item.get(0).equals(target) ); } @Test public void quad_filter_1() { test("SELECT * { GRAPH ?g { ?s ?p ?o } }", 1, 2) ; } @@ -86,7 +76,7 @@ public class TestQuadFilter extends BaseTest private void test(String qs, int withFilter, int withoutFilter) { - Filter<Tuple<NodeId>> filter = createFilter(ds) ; + Predicate<Tuple<NodeId>> filter = createFilter(ds) ; // private static void example(Dataset ds, Filter<Tuple<NodeId>> filter) // {
