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/02/03 12:57:49 UTC

svn commit: r1441903 - /jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/Transformer.java

Author: andy
Date: Sun Feb  3 11:57:49 2013
New Revision: 1441903

URL: http://svn.apache.org/viewvc?rev=1441903&view=rev
Log:
Highlight the fact that transformations need to be aware
of Filters specifically.

Modified:
    jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/Transformer.java

Modified: jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/Transformer.java
URL: http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/Transformer.java?rev=1441903&r1=1441902&r2=1441903&view=diff
==============================================================================
--- jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/Transformer.java (original)
+++ jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/Transformer.java Sun Feb  3 11:57:49 2013
@@ -153,25 +153,6 @@ public class Transformer
         // ----
         // Algebra operations that involve an Expr, and so might include NOT EXISTS 
 
-        
-        @Override
-        public void visit(OpFilter opFilter)
-        {
-            ExprList ex = new ExprList() ;
-            boolean changed = false ;
-            for ( Expr e : opFilter.getExprs() )
-            {
-                Expr e2 = ExprTransformer.transform(exprTransform, e) ;
-                ex.add(e2) ;
-                if ( e != e2 )
-                    changed = true ;
-            }
-            OpFilter f = opFilter ;
-            if ( changed )
-                f = (OpFilter)OpFilter.filter(ex, opFilter.getSubOp()) ;
-            visit1(f) ;
-        }
-
         @Override
         public void visit(OpOrder opOrder)
         {
@@ -333,11 +314,24 @@ public class Transformer
         }
         
         @Override
-        protected void visitFilter(OpFilter op) {
+        protected void visitFilter(OpFilter opFilter) {
+            ExprList ex = new ExprList() ;
+            boolean changed = false ;
+            for ( Expr e : opFilter.getExprs() )
+            {
+                Expr e2 = ExprTransformer.transform(exprTransform, e) ;
+                ex.add(e2) ;
+                if ( e != e2 )
+                    changed = true ;
+            }
+            OpFilter f = opFilter ;
+            if ( changed )
+                f = (OpFilter)OpFilter.filter(ex, opFilter.getSubOp()) ;
+            // As Op1.
             Op subOp = null ;
-            if ( op.getSubOp() != null )
+            if ( f.getSubOp() != null )
                 subOp = pop() ;
-            push(op.apply(transform, subOp)) ;
+            push(f.apply(transform, subOp)) ;
         }
         
         @Override