[ 
https://issues.apache.org/jira/browse/OPENJPA-244?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12501638
 ] 

Mitesh Meswani commented on OPENJPA-244:
----------------------------------------

>What is possible is to hide the nasty mechanical construction of a new 
>instance of the anonymous inner class by a wrapper method.

Here is an example for invoking a method reflectively 

                try {
                    AccessController.doPrivileged(new 
PrivilegedMethodInvoker(method, null, args));
                } catch (PrivilegedActionException exception) {
                    Exception throwableException = exception.getException();
                }

where PrivilegedMethodInvoker is as follows

public class PrivilegedMethodInvoker implements PrivilegedExceptionAction {

    private Method method;
    private Object target;
    private Object[] args;
    
    public PrivilegedMethodInvoker(Method method, Object target, Object[] args){
        this.method = method;
        this.target = target;
        this.args = args;
    }
    
    public Object run() throws IllegalAccessException, 
InvocationTargetException {
        return PrivilegedAccessHelper.invokeMethod(method, target, args);
    }
    
}


> Java 2 Security enablement
> --------------------------
>
>                 Key: OPENJPA-244
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-244
>             Project: OpenJPA
>          Issue Type: Bug
>    Affects Versions: 0.9.8
>            Reporter: Kevin Sutter
>         Attachments: J2DoPrivHelper.java
>
>
> Via some testing with the WebSphere Application Server, it's been discovered 
> that we're missing some doPriv blocks through out the OpenJPA code base.  
> This JIRA report will be used to resolve these issues.  More specific 
> examples will be posted later.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to