public void addHome ( BeanMetaData bmd ) // F743-26072 throws RemoteException { final boolean isTraceOn = TraceComponent . isAnyTracingEnabled ( ) ; if ( isTraceOn && tc . isEntryEnabled ( ) ) Tr . entry ( tc , "addHome : " + bmd . j2eeName ) ; if ( homesByName . get ( bmd . j2eeName ) != null ) { throw new DuplicateHomeNameException ( bmd . j2eeName . toString ( ) ) ; } homesByName . put ( bmd . j2eeName , bmd . homeRecord ) ; // d366845.3 J2EEName j2eeName = bmd . j2eeName ; String application = j2eeName . getApplication ( ) ; AppLinkData linkData ; // F743-26072 - Use AppLinkData synchronized ( ivAppLinkData ) { linkData = ivAppLinkData . get ( application ) ; if ( linkData == null ) { if ( isTraceOn && tc . isEntryEnabled ( ) ) Tr . debug ( tc , "adding application link data for " + application ) ; linkData = new AppLinkData ( ) ; ivAppLinkData . put ( application , linkData ) ; } } updateAppLinkData ( linkData , true , j2eeName , bmd ) ; // For version cable modules, the serialized BeanId will contain the // unversioned (or base) name, so a map is created from unversioned to // active to enable properly routing incoming requests. F54184 if ( bmd . _moduleMetaData . isVersionedModule ( ) ) { EJBModuleMetaDataImpl mmd = bmd . _moduleMetaData ; bmd . ivUnversionedJ2eeName = j2eeNameFactory . create ( mmd . ivVersionedAppBaseName , mmd . ivVersionedModuleBaseName , j2eeName . getComponent ( ) ) ; if ( isTraceOn && tc . isDebugEnabled ( ) ) Tr . debug ( tc , "Versioned Mapping Added : " + bmd . ivUnversionedJ2eeName + " -> " + j2eeName ) ; J2EEName dupBaseName = ivVersionedModuleNames . put ( bmd . ivUnversionedJ2eeName , j2eeName ) ; if ( dupBaseName != null ) // F54184.2 { ivVersionedModuleNames . put ( bmd . ivUnversionedJ2eeName , dupBaseName ) ; throw new DuplicateHomeNameException ( "Base Name : " + bmd . ivUnversionedJ2eeName ) ; } } if ( isTraceOn && tc . isEntryEnabled ( ) ) Tr . exit ( tc , "addHome" ) ; }
LIDB859 - 4 d429866 . 2