[ 
https://issues.apache.org/jira/browse/JEXL-240?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16185523#comment-16185523
 ] 

Henri Biestro commented on JEXL-240:
------------------------------------

Thanks for reporting the issue.
As a temporary workaround, you can expose 'packages' in your context instead of 
classes.
{code}
    public class Package {
        private final String pkg;
        Package(String pkg) {
            this.pkg = pkg;
        }
        public Class<?> get(String name) throws ClassNotFoundException {
            return Package.class.getClassLoader().loadClass(pkg + "." + name);
        }
    }
...
jc.set("java.math", new Package("java.math"));
...
{code}

> Unable to invoke a call operator using antish style variable resoltion
> ----------------------------------------------------------------------
>
>                 Key: JEXL-240
>                 URL: https://issues.apache.org/jira/browse/JEXL-240
>             Project: Commons JEXL
>          Issue Type: Bug
>    Affects Versions: 3.1
>            Reporter: Dmitri Blinov
>            Assignee: Henri Biestro
>         Attachments: AntishCallTest.java
>
>
> Suppose I have declared an antish style context variable under the name 
> {{java.math.BigDecimal}} of the {{Class<java.math.BigDecimal>}} type.
> To test that it works correctly I use the following script
> {code}var x = java.math.BigDecimal; x("1234"){code} which returns correct 
> value.
> Now I want to invoke an overloaded call operator directly for this variable 
> using {code}java.math.BigDecimal("1234"){code} 
> which returns an error 
> {panel}
> undefined variable java.math
> {panel}
> The expected behaviour is to return the same value as in the first script.
> I have created a test case for this, please have a look.
> Thanks!



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to