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 2015/09/16 17:26:27 UTC
[1/2] jena git commit: JENA-1028: OpDisjunction and Op1 operations.
Repository: jena
Updated Branches:
refs/heads/master 96563de05 -> 53ceeaf4d
JENA-1028: OpDisjunction and Op1 operations.
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/370f79db
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/370f79db
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/370f79db
Branch: refs/heads/master
Commit: 370f79db857f21da81e1ec62f744f758024a9c65
Parents: 8956f92
Author: Andy Seaborne <an...@apache.org>
Authored: Wed Sep 16 10:15:57 2015 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Wed Sep 16 16:24:51 2015 +0100
----------------------------------------------------------------------
.../jena/sparql/engine/main/VarFinder.java | 71 +++++++++-----------
1 file changed, 32 insertions(+), 39 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/jena/blob/370f79db/jena-arq/src/main/java/org/apache/jena/sparql/engine/main/VarFinder.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/engine/main/VarFinder.java b/jena-arq/src/main/java/org/apache/jena/sparql/engine/main/VarFinder.java
index e04de77..b6824a4 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/engine/main/VarFinder.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/engine/main/VarFinder.java
@@ -139,17 +139,17 @@ public class VarFinder
@Override
public void visit(OpJoin opJoin) {
- joinAcc(opJoin.getLeft());
- joinAcc(opJoin.getRight());
+ mergeVars(opJoin.getLeft());
+ mergeVars(opJoin.getRight());
}
@Override
public void visit(OpSequence opSequence) {
for ( Op op : opSequence.getElements() )
- joinAcc(op);
+ mergeVars(op);
}
- private void joinAcc(Op op) {
+ private void mergeVars(Op op) {
VarUsageVisitor usage = VarUsageVisitor.apply(op);
defines.addAll(usage.defines);
optDefines.addAll(usage.optDefines);
@@ -164,7 +164,7 @@ public class VarFinder
@Override
public void visit(OpMinus opMinus) {
- joinAcc(opMinus.getLeft()) ;
+ mergeVars(opMinus.getLeft()) ;
VarUsageVisitor usage = VarUsageVisitor.apply(opMinus.getRight());
// Everything in the right side is really a filter.
filterMentions.addAll(usage.defines) ;
@@ -203,20 +203,13 @@ public class VarFinder
@Override
public void visit(OpUnion opUnion) {
- VarUsageVisitor leftUsage = VarUsageVisitor.apply(opUnion.getLeft());
- VarUsageVisitor rightUsage = VarUsageVisitor.apply(opUnion.getRight());
-
- // defines = union(left.define, right.define) ??
- // Can be both definite and optional (different sides).
- defines.addAll(leftUsage.defines);
- optDefines.addAll(leftUsage.optDefines);
- filterMentions.addAll(leftUsage.filterMentions);
- assignMentions.addAll(leftUsage.assignMentions);
-
- defines.addAll(rightUsage.defines);
- optDefines.addAll(rightUsage.optDefines);
- filterMentions.addAll(rightUsage.filterMentions);
- assignMentions.addAll(rightUsage.assignMentions);
+ mergeVars(opUnion.getLeft());
+ mergeVars(opUnion.getRight());
+ }
+
+ @Override
+ public void visit(OpDisjunction opDisjunction) {
+ opDisjunction.getElements().forEach(op->mergeVars(op));
}
@Override
@@ -278,47 +271,47 @@ public class VarFinder
VarUtils.addVarNodes(defines, opPropFunc.getSubjectArgs().getArgList()) ;
VarUtils.addVarNodes(defines, opPropFunc.getObjectArgs().getArgList()) ;
}
-
- // Not implemented: with checking.
- private void no() {
- throw new NotImplemented() ;
- }
+ // Ops that add nothing to variable scoping.
+ // Some can't appear without being inside a project anyway
+ // but we process generally where possible.
@Override
- public void visit(OpProcedure opProc) { no() ; }
-
+ public void visit(OpReduced opReduced) { mergeVars(opReduced.getSubOp()) ; }
@Override
- public void visit(OpService opService) { no(); }
+ public void visit(OpDistinct opDistinct) { mergeVars(opDistinct.getSubOp()) ; }
@Override
- public void visit(OpDatasetNames dsNames) { no(); }
+ public void visit(OpSlice opSlice) { mergeVars(opSlice.getSubOp()) ; }
@Override
- public void visit(OpLabel opLabel) { no(); }
+ public void visit(OpLabel opLabel) { mergeVars(opLabel.getSubOp()) ; }
@Override
- public void visit(OpDiff opDiff) { no(); }
-
- @Override
- public void visit(OpDisjunction opDisjunction) { no(); }
+ public void visit(OpList opList) { mergeVars(opList.getSubOp()) ; }
+
+ // Not implemented: with checking.
+ private void no() {
+ throw new NotImplemented() ;
+ }
+
@Override
- public void visit(OpList opList) { no(); }
+ public void visit(OpProcedure opProc) { no() ; }
@Override
- public void visit(OpOrder opOrder) { no(); }
+ public void visit(OpService opService) { no(); }
@Override
- public void visit(OpReduced opReduced) { no(); }
+ public void visit(OpDatasetNames dsNames) { no(); }
@Override
- public void visit(OpDistinct opDistinct) { no(); }
+ public void visit(OpDiff opDiff) { no(); }
@Override
- public void visit(OpSlice opSlice) { no(); }
-
+ public void visit(OpOrder opOrder) { no(); }
+
@Override
public void visit(OpGroup opGroup) { no(); }
[2/2] jena git commit: Merge branch 'master' of
https://git-wip-us.apache.org/repos/asf/jena
Posted by an...@apache.org.
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/jena
Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/53ceeaf4
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/53ceeaf4
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/53ceeaf4
Branch: refs/heads/master
Commit: 53ceeaf4d5e4439311bc877c8285cf841e85b158
Parents: 370f79d 96563de
Author: Andy Seaborne <an...@apache.org>
Authored: Wed Sep 16 16:26:08 2015 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Wed Sep 16 16:26:08 2015 +0100
----------------------------------------------------------------------
----------------------------------------------------------------------