Hi Rinke;
>From the looks of it, I'd say the 'private static ....' and permissions are 
>the most likely culprit (if you are using JEXL 3.3).
JEXL will only see/introspect public classes for which it is allowed to through 
permissions; you own classes/packages must be allowed (they aren't by default) 
and they must be public. (see 
https://commons.apache.org/proper/commons-jexl/apidocs/org/apache/commons/jexl3/introspection/JexlPermissions.html#parse-java.lang.String...-)
Cheers

On 2023/11/03 13:28:50 "r.c.hoekstra" wrote:
> I'm trying to get a jexl script to work.
> 
> |// arranging namespace Print Map<String, Object> ns = new HashMap<>(1); 
> ns.put("Print", System.out); // make System.out.println available in 
> expressions JexlEngine je = new JexlBuilder().namespaces(ns).create(); 
> // arranging custom Map for accessible variable 'agent' in script 
> Map<String, Object> myMap = ....; myMap.put("test", testRef); 
> JexlContext jc = new MapContext(myMap); // arranging script JexlScript 
> script = je.createScript(expression); Object result = script.execute(jc); 
> |||||
> 
> |The testRef is just a simple instance of this class: |
> 
> privatestaticclassTestContextVar {
> 
> publicString getInstanceVar(){
> 
> return"instanceValue";
> 
> }
> 
> }
> 
> 
> with the expression being this:
> 
> |{ Print:println("blabla"); const x = test.getInstanceVar(); 
> Print:println(x); return true; } |
> 
> ||
> 
> The first command just prints "blabla" to the console, so the printing 
> via System.out.println works flawless.
> 
> However, for the variable test: it does exist, because jexl doesn't 
> report "unsolvable variable". Also, Print:println(test) just prints the 
> memory address as expected.
> 
> However, any method of the test Object which I try to call, always 
> returns null. I just get a null printed to the console.
> 
> Also, when I call test.instanceVar (which should be possible, it is just 
> a POJO), I get "undefined property 'id', assuming false". Whereas 
> test.getInstanceVar() returns just null.
> 
> Anyone any idea what could go wrong here?
> 
> 
> thanks, Rinke
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscr...@commons.apache.org
For additional commands, e-mail: user-h...@commons.apache.org

Reply via email to