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 2018/04/18 11:04:23 UTC

[4/5] jena git commit: JENA-1519: Move decision about effectiveOp into walker.

JENA-1519: Move decision about effectiveOp into walker.


Project: http://git-wip-us.apache.org/repos/asf/jena/repo
Commit: http://git-wip-us.apache.org/repos/asf/jena/commit/1af87896
Tree: http://git-wip-us.apache.org/repos/asf/jena/tree/1af87896
Diff: http://git-wip-us.apache.org/repos/asf/jena/diff/1af87896

Branch: refs/heads/master
Commit: 1af87896dc9e6803878769f5d9eef2a5578b1de7
Parents: 2a55777
Author: Andy Seaborne <an...@apache.org>
Authored: Wed Apr 18 12:03:41 2018 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Wed Apr 18 12:03:41 2018 +0100

----------------------------------------------------------------------
 .../java/org/apache/jena/sparql/algebra/OpVisitorByType.java   | 6 ++++--
 .../src/main/java/org/apache/jena/sparql/algebra/OpWalker.java | 4 +++-
 2 files changed, 7 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/1af87896/jena-arq/src/main/java/org/apache/jena/sparql/algebra/OpVisitorByType.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/OpVisitorByType.java b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/OpVisitorByType.java
index 33fb1a3..01863bb 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/OpVisitorByType.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/OpVisitorByType.java
@@ -31,8 +31,10 @@ public abstract class OpVisitorByType implements OpVisitor
     
     protected abstract void visit0(Op0 op) ;    
     
-    protected void visitExt(OpExt op)
-    { op.effectiveOp().visit(this); }     
+    protected void visitExt(OpExt op) {
+        if ( op.effectiveOp() != null )
+            op.effectiveOp().visit(this); 
+    }     
 
     protected abstract void visitFilter(OpFilter op) ;
     

http://git-wip-us.apache.org/repos/asf/jena/blob/1af87896/jena-arq/src/main/java/org/apache/jena/sparql/algebra/OpWalker.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/OpWalker.java b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/OpWalker.java
index 55bf4e7..d8b6e5e 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/OpWalker.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/OpWalker.java
@@ -139,7 +139,9 @@ public class OpWalker
         @Override
         protected void visitExt(OpExt op) {
             before(op) ;
-            super.visitExt(op);
+            if ( op.effectiveOp() != null )
+                // Walk the effective op, if present.
+                op.effectiveOp().visit(this);
             if ( visitor != null )
                 op.visit(visitor) ;
             after(op) ;