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