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 ));