private void profileInitialize ( String profileName ) { if ( logger . isTraceEnabled ( ) ) { logger . trace ( "[profileInitialize] " + this + " , profileName = " + profileName ) ; } if ( this . state != ProfileObjectState . POOLED ) { throw new SLEEException ( this . toString ( ) ) ; } if ( profileName == null ) { // default profile creation // create instance of entity profileEntity = profileEntityFramework . getProfileEntityFactory ( ) . newInstance ( profileTable . getProfileTableName ( ) , null ) ; // change state this . state = ProfileObjectState . PROFILE_INITIALIZATION ; // invoke life cycle method on profile if ( profileConcreteClassInfo . isInvokeProfileInitialize ( ) ) { try { profileConcrete . profileInitialize ( ) ; } catch ( RuntimeException e ) { runtimeExceptionOnProfileInvocation ( e ) ; } } } else { // load the default profile entity if ( logger . isTraceEnabled ( ) ) { logger . trace ( "Copying state from default profile on object " + this ) ; } profileEntity = cloneEntity ( profileTable . getDefaultProfileEntity ( ) ) ; profileEntity . setProfileName ( profileName ) ; } // mark entity as dirty and for creation profileEntity . create ( ) ; profileEntity . setDirty ( true ) ; }
initialize state from default profile