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:20 UTC

[1/5] jena git commit: Add UT showing the problem

Repository: jena
Updated Branches:
  refs/heads/master bea349587 -> 5a4883e39


Add UT showing the problem


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

Branch: refs/heads/master
Commit: 74529be4f7da2ce1a16c5542df073a1911859751
Parents: 3390615
Author: Jeremy Coulon <je...@3ds.com>
Authored: Tue Apr 10 17:19:29 2018 +0200
Committer: Jeremy Coulon <je...@3ds.com>
Committed: Tue Apr 10 17:19:29 2018 +0200

----------------------------------------------------------------------
 .../jena/sparql/algebra/TestTransformOpExt.java | 31 ++++++++++++++++++++
 1 file changed, 31 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/74529be4/jena-arq/src/test/java/org/apache/jena/sparql/algebra/TestTransformOpExt.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/test/java/org/apache/jena/sparql/algebra/TestTransformOpExt.java b/jena-arq/src/test/java/org/apache/jena/sparql/algebra/TestTransformOpExt.java
index 0e5bc1d..12bb2f1 100644
--- a/jena-arq/src/test/java/org/apache/jena/sparql/algebra/TestTransformOpExt.java
+++ b/jena-arq/src/test/java/org/apache/jena/sparql/algebra/TestTransformOpExt.java
@@ -18,11 +18,15 @@
 
 package org.apache.jena.sparql.algebra;
 
+import java.util.Set;
+
 import org.apache.jena.atlas.io.IndentedWriter ;
 import org.apache.jena.atlas.junit.BaseTest ;
 import org.apache.jena.atlas.lib.StrUtils ;
 import org.apache.jena.sparql.algebra.op.OpExt ;
+import org.apache.jena.sparql.algebra.op.OpFilter;
 import org.apache.jena.sparql.algebra.op.OpGraph ;
+import org.apache.jena.sparql.core.Var;
 import org.apache.jena.sparql.engine.ExecutionContext ;
 import org.apache.jena.sparql.engine.QueryIterator ;
 import org.apache.jena.sparql.serializer.SerializationContext ;
@@ -69,6 +73,14 @@ public class TestTransformOpExt extends BaseTest
         }
     }
     
+    static class OpExtTransform extends TransformCopy {
+        
+        @Override
+        public Op transform(OpFilter opFilter, Op subOp) {
+            return new OpExtTest(opFilter);
+        }
+    }
+    
     @Test public void textOpExtQuads() {
         String x = StrUtils.strjoinNL
             ("(graph <g>"
@@ -100,5 +112,24 @@ public class TestTransformOpExt extends BaseTest
         Op expectedSub = SSE.parseOp(y) ;
         assertEquals(expectedSub, opSub) ;
     }
+    
+    @Test
+    public void testOpExtMinus() {
+        String sse = StrUtils.strjoinNL
+                ("(filter (= ?o 1)"
+                ,"   (bgp (?s ?p ?o))"
+                ,")"
+                ) ;
+        
+        // Build 
+        Op op = SSE.parseOp(sse) ;
+        
+        // Transform
+        op = Transformer.transformSkipService(new OpExtTransform(), op) ;
+        
+        // Check WalkerVisitorVisible
+        Set<Var> vars = OpVars.visibleVars(op);
+        assertEquals(3, vars.size());
+    }
 }
 


[5/5] jena git commit: Close iterator because of early exit.

Posted by an...@apache.org.
Close iterator because of early exit.


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

Branch: refs/heads/master
Commit: 5a4883e39af68c19c8bff79a80bde3354730fec7
Parents: 1af8789
Author: Andy Seaborne <an...@apache.org>
Authored: Wed Apr 18 12:04:11 2018 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Wed Apr 18 12:04:11 2018 +0100

----------------------------------------------------------------------
 .../java/org/apache/jena/graph/impl/GraphMatcher.java | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/5a4883e3/jena-core/src/main/java/org/apache/jena/graph/impl/GraphMatcher.java
----------------------------------------------------------------------
diff --git a/jena-core/src/main/java/org/apache/jena/graph/impl/GraphMatcher.java b/jena-core/src/main/java/org/apache/jena/graph/impl/GraphMatcher.java
index b4e1062..f322ce0 100644
--- a/jena-core/src/main/java/org/apache/jena/graph/impl/GraphMatcher.java
+++ b/jena-core/src/main/java/org/apache/jena/graph/impl/GraphMatcher.java
@@ -322,12 +322,14 @@ public class GraphMatcher extends java.lang.Object {
             return false ;
         // Force to same term when o is a ground literal.
         ExtendedIterator<Triple> iter = otherm.find(triple) ;
-        while (iter.hasNext()) {
-            Triple t = iter.next() ;
-            if ( t.getObject().equals(o) )
-                return true ;
-        }
-        return false ;
+        try {
+            while (iter.hasNext()) {
+                Triple t = iter.next() ;
+                if ( t.getObject().equals(o) )
+                    return true ;
+            }
+            return false ;
+        } finally { iter.close(); }
     }
     
     private Bucket smallestBucket() {


[3/5] jena git commit: JENA-1519: Merge commit 'refs/pull/394/head' of https://github.com/apache/jena

Posted by an...@apache.org.
JENA-1519: Merge commit 'refs/pull/394/head' of https://github.com/apache/jena

This closes #394.


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

Branch: refs/heads/master
Commit: 2a5577725073d04671cec0359f9597b54b1d1efd
Parents: bea3495 9c2bb1c
Author: Andy Seaborne <an...@apache.org>
Authored: Wed Apr 18 11:47:20 2018 +0100
Committer: Andy Seaborne <an...@apache.org>
Committed: Wed Apr 18 11:47:20 2018 +0100

----------------------------------------------------------------------
 .../org/apache/jena/sparql/algebra/OpVars.java  |  5 ++++
 .../apache/jena/sparql/algebra/OpWalker.java    |  1 +
 .../jena/sparql/algebra/TestTransformOpExt.java | 31 ++++++++++++++++++++
 3 files changed, 37 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/2a557772/jena-arq/src/main/java/org/apache/jena/sparql/algebra/OpVars.java
----------------------------------------------------------------------


[2/5] jena git commit: Fix OpWalkerVisitor for OpExt

Posted by an...@apache.org.
Fix OpWalkerVisitor for OpExt


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

Branch: refs/heads/master
Commit: 9c2bb1c183a70fafa1007857823e91aca9a1f18f
Parents: 74529be
Author: Jeremy Coulon <je...@3ds.com>
Authored: Tue Apr 10 17:20:08 2018 +0200
Committer: Jeremy Coulon <je...@3ds.com>
Committed: Tue Apr 10 17:20:08 2018 +0200

----------------------------------------------------------------------
 .../src/main/java/org/apache/jena/sparql/algebra/OpVars.java    | 5 +++++
 .../src/main/java/org/apache/jena/sparql/algebra/OpWalker.java  | 1 +
 2 files changed, 6 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/jena/blob/9c2bb1c1/jena-arq/src/main/java/org/apache/jena/sparql/algebra/OpVars.java
----------------------------------------------------------------------
diff --git a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/OpVars.java b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/OpVars.java
index 70f649e..9cfec1c 100644
--- a/jena-arq/src/main/java/org/apache/jena/sparql/algebra/OpVars.java
+++ b/jena-arq/src/main/java/org/apache/jena/sparql/algebra/OpVars.java
@@ -284,6 +284,11 @@ public class OpVars
         public void visit(OpProcedure opProc) {
             ExprVars.varsMentioned(acc, opProc.getArgs()) ;
         }
+        
+        @Override
+        public void visit(OpExt opExt) {
+            // OpWalkerVisitor is taking care of calling opExt.effectiveOp().visit(this)
+        }
     }
     
     private static class OpVarsPatternWithPositions extends OpVisitorBase

http://git-wip-us.apache.org/repos/asf/jena/blob/9c2bb1c1/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 378e0ae..55bf4e7 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,6 +139,7 @@ public class OpWalker
         @Override
         protected void visitExt(OpExt op) {
             before(op) ;
+            super.visitExt(op);
             if ( visitor != null )
                 op.visit(visitor) ;
             after(op) ;


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

Posted by an...@apache.org.
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) ;