Search in sources :

Example 1 with GenericEJBLocalHome

use of com.sun.ejb.containers.GenericEJBLocalHome in project Payara by payara.

the class EJBUtils method resolveEjbRefObject.

public static Object resolveEjbRefObject(EjbReferenceDescriptor refDesc, Object jndiObj) throws NamingException {
    Object returnObject = jndiObj;
    if (refDesc.isLocal()) {
        EjbDescriptor target = refDesc.getEjbDescriptor();
        BaseContainer container = EjbContainerUtilImpl.getInstance().getContainer(target.getUniqueId());
        if (refDesc.isEJB30ClientView()) {
            GenericEJBLocalHome genericLocalHome = container.getEJBLocalBusinessHome(refDesc.getEjbInterface());
            returnObject = genericLocalHome.create(refDesc.getEjbInterface());
        } else {
            returnObject = container.getEJBLocalHome();
        }
    } else {
        if (refDesc.isEJB30ClientView() && !(jndiObj instanceof RemoteBusinessWrapperBase)) {
            returnObject = EJBUtils.lookupRemote30BusinessObject(jndiObj, refDesc.getEjbInterface());
        }
    }
    return returnObject;
}
Also used : BaseContainer(com.sun.ejb.containers.BaseContainer) GenericEJBLocalHome(com.sun.ejb.containers.GenericEJBLocalHome) RemoteBusinessWrapperBase(com.sun.ejb.containers.RemoteBusinessWrapperBase) PortableRemoteObject(javax.rmi.PortableRemoteObject) EjbDescriptor(com.sun.enterprise.deployment.EjbDescriptor)

Aggregations

BaseContainer (com.sun.ejb.containers.BaseContainer)1 GenericEJBLocalHome (com.sun.ejb.containers.GenericEJBLocalHome)1 RemoteBusinessWrapperBase (com.sun.ejb.containers.RemoteBusinessWrapperBase)1 EjbDescriptor (com.sun.enterprise.deployment.EjbDescriptor)1 PortableRemoteObject (javax.rmi.PortableRemoteObject)1