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


Reply via email to