/** * {@inheritDoc} */ public ActionContext beginAction( boolean readOnly , String whoStarted ) { ActionContext actionContext = new ActionContext(); ActionVersioning.Version version; if ( readOnly ) { version = versioning.beginReadAction(); } else { bigLock.lock(); version = versioning.beginWriteAction(); } actionContext.beginAction( readOnly, version, whoStarted ); setCurrentActionContext( actionContext ); return actionContext; }
if ( actionContext.isReadOnlyAction() ) ActionVersioning.Version version = actionContext.getVersion(); minVersion = versioning.endReadAction( version ); actionContext.endAction(); else if ( actionContext.isWriteAction() ) actionContext.endAction(); bigLock.unlock();
/** * {@inheritDoc} */ public void setCurrentActionContext( ActionContext context ) { ActionContext actionContext = actionContextVar.get(); if ( actionContext != null ) { throw new IllegalStateException( "Action Context Not Null: " + actionContext.getWhoStarted() ); } actionContextVar.set( context ); }
obj = versionedCache.get( Long.valueOf( recid ), actionContext.getVersion().getVersion(), serializer, recid < 0 );
versionedCache.put( Long.valueOf( recid ), null, actionContext.getVersion().getVersion(), null, false );
if ( actionContext.isReadOnlyAction() ) ActionVersioning.Version version = actionContext.getVersion(); minVersion = versioning.endReadAction( version ); actionContext.endAction(); else if ( actionContext.isWriteAction() ) actionContext.endAction(); bigLock.unlock();
versionedCache.put( Long.valueOf( recid ), obj, actionContext.getVersion().getVersion(), serializer, recid < 0 );
versionedCache.put( Long.valueOf( recid ), obj, actionContext.getVersion().getVersion(), serializer, false );