You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jena.apache.org by an...@apache.org on 2013/10/13 22:31:51 UTC
svn commit: r1531747 - in
/jena/trunk/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/solver:
QueryIteratorIdToNode.java SolverLib.java
Author: andy
Date: Sun Oct 13 20:31:51 2013
New Revision: 1531747
URL: http://svn.apache.org/r1531747
Log:
Regularise code - expose operation to convert from BindingNodeId to Binding as a static function.
Modified:
jena/trunk/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/solver/QueryIteratorIdToNode.java
jena/trunk/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/solver/SolverLib.java
Modified: jena/trunk/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/solver/QueryIteratorIdToNode.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/solver/QueryIteratorIdToNode.java?rev=1531747&r1=1531746&r2=1531747&view=diff
==============================================================================
--- jena/trunk/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/solver/QueryIteratorIdToNode.java (original)
+++ jena/trunk/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/solver/QueryIteratorIdToNode.java Sun Oct 13 20:31:51 2013
@@ -34,7 +34,8 @@ public class QueryIteratorIdToNode exten
Iterator<BindingNodeId> iterator ;
Iterator<Binding> iteratorBinding ;
- public QueryIteratorIdToNode(Iterator<BindingNodeId> iterator, NodeTable nodeTable, ExecutionContext execCxt)
+ // UNUSED - See SolverLib
+ private QueryIteratorIdToNode(Iterator<BindingNodeId> iterator, NodeTable nodeTable, ExecutionContext execCxt)
{
super(execCxt) ;
this.iterator = iterator ;
Modified: jena/trunk/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/solver/SolverLib.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/solver/SolverLib.java?rev=1531747&r1=1531746&r2=1531747&view=diff
==============================================================================
--- jena/trunk/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/solver/SolverLib.java (original)
+++ jena/trunk/jena-tdb/src/main/java/com/hp/hpl/jena/tdb/solver/SolverLib.java Sun Oct 13 20:31:51 2013
@@ -52,21 +52,6 @@ public class SolverLib
{
private static Logger log = LoggerFactory.getLogger(SolverLib.class) ;
- public interface ConvertNodeIDToNode {
- public Iterator<Binding> convert(NodeTable nodeTable, Iterator<BindingNodeId> iterBindingIds) ;
- }
-
- /** Change this to change the process of NodeId to Node conversion.
- * Normally it's this code, which puts a delayed iterator mapping
- * around the BindingNodeId stream.
- */
- public final static ConvertNodeIDToNode converter = new ConvertNodeIDToNode(){
- @Override
- public Iterator<Binding> convert(NodeTable nodeTable, Iterator<BindingNodeId> iterBindingIds)
- {
- return Iter.map(iterBindingIds, convToBinding(nodeTable)) ;
- }} ;
-
/** 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,
@@ -92,6 +77,9 @@ public class SolverLib
public static Iterator<BindingNodeId> convertToIds(Iterator<Binding> iterBindings, NodeTable nodeTable)
{ return Iter.map(iterBindings, convFromBinding(nodeTable)) ; }
+ /** Convert from Iterator<BindingNodeId> to Iterator<Binding>, conversion "on demand"
+ * (in convToBinding(BindingNodeId, NodeTable)
+ */
public static Iterator<Binding> convertToNodes(Iterator<BindingNodeId> iterBindingIds, NodeTable nodeTable)
{ return Iter.map(iterBindingIds, convToBinding(nodeTable)) ; }
@@ -151,7 +139,7 @@ public class SolverLib
// Need to make sure the bindings here point to parent.
- Iterator<Binding> iterBinding = converter.convert(nodeTable, chain) ;
+ Iterator<Binding> iterBinding = convertToNodes(chain, nodeTable) ;
// "input" will be closed by QueryIterTDB but is otherwise unused.
// "killList" will be aborted on timeout.
@@ -216,28 +204,23 @@ public class SolverLib
}
// Transform : BindingNodeId ==> Binding
- private static Transform<BindingNodeId, Binding> convToBinding(final NodeTable nodeTable)
- {
- return new 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(nodeTable, bindingNodeIds) ;
+ public Binding convert(BindingNodeId bindingNodeIds) {
+ return convToBinding(bindingNodeIds, nodeTable) ;
}
} ;
}
- public static Binding convToBinding(NodeTable nodeTable, BindingNodeId bindingNodeIds)
- {
+ public static Binding convToBinding(BindingNodeId bindingNodeIds, NodeTable nodeTable) {
if ( true )
return new BindingTDB(bindingNodeIds, nodeTable) ;
- else
- {
- // Makes nodes immediately. Causing unnecessary NodeTable accesses (e.g. project)
+ else {
+ // Makes nodes immediately. Causing unnecessary NodeTable accesses
+ // (e.g. project)
BindingMap b = BindingFactory.create() ;
- for ( Var v : bindingNodeIds )
- {
+ for (Var v : bindingNodeIds) {
NodeId id = bindingNodeIds.get(v) ;
Node n = nodeTable.getNodeForNodeId(id) ;
b.add(v, n) ;