ProfileObjectImpl getProfileObjectValidInCurrentTransaction ( ProfileEntity profileEntity ) throws TransactionRequiredLocalException { // check tx final SleeTransactionManager txManager = profileManagement . getSleeContainer ( ) . getTransactionManager ( ) ; txManager . mandateTransaction ( ) ; // look for an assigned object in local map if ( txData == null ) { txData = new HashMap < ProfileEntity , ProfileObjectImpl > ( ) ; } ProfileObjectImpl profileObject = ( ProfileObjectImpl ) txData . get ( profileEntity ) ; if ( profileObject == null ) { // get an object from the table profileEntity . setReadOnly ( true ) ; profileEntity . setDirty ( false ) ; ProfileObjectPool pool = profileManagement . getObjectPoolManagement ( ) . getObjectPool ( profileEntity . getTableName ( ) ) ; profileObject = pool . borrowObject ( ) ; profileObject . profileActivate ( profileEntity ) ; ProfileTableTransactionView . passivateProfileObjectOnTxEnd ( txManager , profileObject , pool ) ; txData . put ( profileEntity , profileObject ) ; } return profileObject ; }
Retrieves a local object valid for thus current transaction .