Author: claude
Date: Mon Sep 9 22:12:39 2013
New Revision: 1521302
URL: http://svn.apache.org/r1521302
Log:
Fix for JENA-532
Added code to convert internal variables to arguments to keep the stack in sync.
Modified:
jena/trunk/jena-security/src/main/java/org/apache/jena/security/query/rewriter/SecuredFunction.java
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=1521302&r1=1521301&r2=1521302&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
Mon Sep 9 22:12:39 2013
@@ -43,12 +43,22 @@ public class SecuredFunction extends Exp
private final List<Node> variables;
private final List<Triple> bgp;
private final SecNode graphIRI;
+
+ private static ExprList createArgs( List<Node> variables )
+ {
+ ExprList retval = new ExprList();
+ for (Node n : variables )
+ {
+ retval.add( new ExprVar( n ));
+ }
+ return retval;
+ }
public SecuredFunction( final SecNode graphIRI,
final SecurityEvaluator securityEvaluator,
final List<Node> variables, final List<Triple> bgp )
{
- super("<java:" + SecuredFunction.class.getName() + ">" );
+ super(String.format("<java:%s>",
SecuredFunction.class.getName() ), createArgs( variables));
//,
// new ElementTriplesBlock( BasicPattern.wrap(bgp)
),
// new OpBGP( BasicPattern.wrap(bgp) )
@@ -109,24 +119,6 @@ public class SecuredFunction extends Exp
}
@Override
- public Expr getArg( int i )
- {
- if (i<=variables.size())
- {
- return new ExprVar( variables.get(i-1));
- }
- return null;
- }
-
- @Override
- public int numArgs()
- {
- return variables.size();
- }
-
- //NodeValue s = evalSpecial(binding, env) ;
-
- @Override
protected NodeValue eval( List<NodeValue> args )
{
// TODO Auto-generated method stub