Author: rvesse
Date: Thu Apr 10 15:53:18 2014
New Revision: 1586344

URL: http://svn.apache.org/r1586344
Log:
Further tweaks to ExprTransformConstantFold (JENA-630) and tweaks to align 
jena-security with Andy's API tweaks

Modified:
    
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/ExprTransformConstantFold.java
    
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/ExprFunction2.java
    jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/NodeValue.java
    
jena/trunk/jena-security/src/main/java/org/apache/jena/security/query/rewriter/SecuredFunction.java

Modified: 
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/ExprTransformConstantFold.java
URL: 
http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/ExprTransformConstantFold.java?rev=1586344&r1=1586343&r2=1586344&view=diff
==============================================================================
--- 
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/ExprTransformConstantFold.java
 (original)
+++ 
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/algebra/optimize/ExprTransformConstantFold.java
 Thu Apr 10 15:53:18 2014
@@ -39,7 +39,7 @@ public class ExprTransformConstantFold e
         if (!func.getArg().equals(expr1))
             func = (ExprFunction1) func.copy(expr1);
         if (!isFoldable(expr1))
-            return func.copy(expr1);
+            return super.transform(func, expr1);
         Expr transformed = func.copySubstitute(this.b, true);
         if (transformed.equals(func))
             return super.transform(func, expr1);
@@ -52,7 +52,7 @@ public class ExprTransformConstantFold e
         if (!func.getArg1().equals(expr1) || !func.getArg2().equals(expr2))
             func = (ExprFunction2) func.copy(expr1, expr2);
         if (!isFoldable(expr1, expr2))
-            return func.copy(expr1, expr2);
+            return super.transform(func, expr1, expr2);
         Expr transformed = func.copySubstitute(this.b, true);
         if (transformed.equals(func))
             return super.transform(func, expr1, expr2);
@@ -68,7 +68,7 @@ public class ExprTransformConstantFold e
         if (!func.getArg1().equals(expr1) || !func.getArg2().equals(expr2) || 
!func.getArg3().equals(expr3))
             func = (ExprFunction3) func.copy(expr1, expr2, expr3);
         if (!isFoldable(expr1, expr2, expr3))
-            return func.copy(expr1, expr2, expr3);
+            return super.transform(func, expr1, expr2, expr3);
         Expr transformed = func.copySubstitute(this.b, true);
         if (transformed.equals(func))
             return super.transform(func, expr1, expr2, expr3);
@@ -80,7 +80,7 @@ public class ExprTransformConstantFold e
         if (!func.getArgs().equals(args.getList()))
             func = (ExprFunctionN) func.copy(args);
         if (!isFoldable(args))
-            return func.copy(args);
+            return super.transform(func, args);
         Expr transformed = func.copySubstitute(this.b, true);
         if (transformed.equals(func))
             return super.transform(func, args);

Modified: 
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/ExprFunction2.java
URL: 
http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/ExprFunction2.java?rev=1586344&r1=1586343&r2=1586344&view=diff
==============================================================================
--- 
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/ExprFunction2.java
 (original)
+++ 
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/ExprFunction2.java
 Thu Apr 10 15:53:18 2014
@@ -91,6 +91,8 @@ public abstract class ExprFunction2 exte
     @Override
     final public Expr copySubstitute(Binding binding, boolean foldConstants)
     {
+        //System.out.println("ExprFunction2: "+this) ;
+        
         Expr e1 = (expr1 == null ? null : expr1.copySubstitute(binding, 
foldConstants)) ;
         Expr e2 = (expr2 == null ? null : expr2.copySubstitute(binding, 
foldConstants)) ;
         

Modified: 
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/NodeValue.java
URL: 
http://svn.apache.org/viewvc/jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/NodeValue.java?rev=1586344&r1=1586343&r2=1586344&view=diff
==============================================================================
--- 
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/NodeValue.java 
(original)
+++ 
jena/trunk/jena-arq/src/main/java/com/hp/hpl/jena/sparql/expr/NodeValue.java 
Thu Apr 10 15:53:18 2014
@@ -454,6 +454,7 @@ public abstract class NodeValue extends 
     @Override
     public Expr copySubstitute(Binding binding, boolean foldConstants)
     {  // return this ; 
+        //System.out.println("NodeValue: " + this);
         Node n = asNode() ;
         return makeNode(n) ;
     }

Modified: 
jena/trunk/jena-security/src/main/java/org/apache/jena/security/query/rewriter/SecuredFunction.java
URL: 
http://svn.apache.org/viewvc/jena/trunk/jena-security/src/main/java/org/apache/jena/security/query/rewriter/SecuredFunction.java?rev=1586344&r1=1586343&r2=1586344&view=diff
==============================================================================
--- 
jena/trunk/jena-security/src/main/java/org/apache/jena/security/query/rewriter/SecuredFunction.java
 (original)
+++ 
jena/trunk/jena-security/src/main/java/org/apache/jena/security/query/rewriter/SecuredFunction.java
 Thu Apr 10 15:53:18 2014
@@ -118,21 +118,20 @@ public class SecuredFunction extends Exp
                visitor.visit( this );
        }
 
-//     @Override
-//     protected NodeValue eval( List<NodeValue> args )
-//     {
-//             // TODO Auto-generated method stub
-//             return null;
-//     }
-
        @Override
-       public Expr copy( ExprList newArgs )
+       public NodeValue eval( List<NodeValue> args )
        {
                // TODO Auto-generated method stub
                return null;
        }
 
        @Override
+       public Expr copy( ExprList newArgs )
+       {
+               return this;
+       }
+
+       @Override
        protected NodeValue evalSpecial( Binding binding, FunctionEnv env )
        {
                return NodeValue.booleanReturn( checkAccess( binding ));


Reply via email to