@Override
    public EJSWrapperCommon internalCreateWrapper(BeanId id) // f111627
    throws javax.ejb.CreateException, RemoteException, CSIException
    {
        J2EEName homeKey = (J2EEName) id.getPrimaryKey();

        if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled()) {
            Tr.debug(tc, "Retrieving home record : " + homeKey);
        }

        EJSHome home = (EJSHome) getHome(homeKey); // d648522

        // If the home was not found, then the application has either not
        // been installed or started, or possibly failed to start.
        // Log a meaningful warning, and throw a meaningful exception.   d356676.1
        if (home == null) {
            if (TraceComponent.isAnyTracingEnabled() && tc.isEventEnabled())
                Tr.event(tc, "Unknown home", id);
            Tr.warning(tc, "HOME_NOT_FOUND_CNTR0092W", homeKey.toString());
            Exception ex = new EJBNotFoundException(homeKey.toString() + ".");
            throw new InvalidBeanIdException(ex);
        }

        EJSWrapperCommon wrappers; // d243336

        // For EJSHomes (Stateless Session beans), the wrappers for home
        // instances are singletons, and so that singleton is cached on the
        // home, to avoid Wrapper Cache lookups.  However, the wrappers are
        // still held in the wrapper cache to insure the remote wrapper is
        // registered with the ORB properly. If the wrappers are ever
        // evicted from the Wrapper Cache, then this method will be called to
        // fault it back in, and may just return that singleton.         d196581.1
        if (home.ivHomeWrappers != null) // d243336
        {
            wrappers = home.ivHomeWrappers; // d243336
        }
        else
        {
            BeanMetaData bmd = home.beanMetaData; // d648522
            wrappers = new EJSWrapperCommon
                            (bmd.homeRemoteImplClass, // f111627
                            bmd.homeLocalImplClass, // f111627
                            id, // f111627
                            bmd, // f111627
                            home.pmiBean, // d140003.33
                            container, // f111627
                            container.getWrapperManager(), // f111627
                            true); // f111627
        }

        return wrappers;
    }
@ Override public EJSWrapperCommon internalCreateWrapper ( BeanId id ) throws javax . ejb . CreateException , RemoteException , CSIException { J2EEName homeKey = ( J2EEName ) id . getPrimaryKey ( ) ; if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isDebugEnabled ( ) ) { Tr . debug ( tc , "Retrieving home record : " + homeKey ) ; } EJSHome home = ( EJSHome ) getHome ( homeKey ) ; if ( home == null ) { if ( TraceComponent . isAnyTracingEnabled ( ) && tc . isEventEnabled ( ) ) Tr . event ( tc , "Unknown home" , id ) ; Tr . warning ( tc , "HOME_NOT_FOUND_CNTR0092W" , homeKey . toString ( ) ) ; Exception ex = new EJBNotFoundException ( homeKey . toString ( ) + "." ) ; throw new InvalidBeanIdException ( ex ) ; } EJSWrapperCommon wrappers ; if ( home . ivHomeWrappers != null ) { wrappers = home . ivHomeWrappers ; } else { BeanMetaData bmd = home . beanMetaData ; wrappers = new EJSWrapperCommon ( bmd . homeRemoteImplClass , bmd . homeLocalImplClass , id , bmd , home . pmiBean , container , container . getWrapperManager ( ) , true ) ; } return wrappers ; }
Create wrapper instance of the type of wrappers managed by this
home. <p>

This method provides a wrapper factory capability.

@param id The <code>BeanId</code> to associate with the wrapper

@return <code>EJSWrapper</code> instance whose most specific
type is the type of wrappers managed by this home <p>