public void onInitializeCollection(final InitializeCollectionEvent event) throws HibernateException { if (LOG.isDebugEnabled()) { LOG.info("InitializeCollectionEvent"); } NakedObjectLoader loader = NakedObjectsContext.getObjectLoader(); NakedObject adapter = loader.getAdapterFor(event.getCollection()); if (adapter != null && adapter.getResolveState().isResolvable(ResolveState.RESOLVING)) { if (LOG.isDebugEnabled()) { LOG.debug("Setting collection to resolved "+adapter); } adapter.changeState(ResolveState.RESOLVING); adapter.changeState(ResolveState.RESOLVED); } }
public void execute(final Workspace workspace, final View view, final Location at) { NakedObject object = (NakedObject) view.getContent().getNaked(); object.changeState(ResolveState.GHOST); } }
public boolean onPreInsert(final PreInsertEvent event) { if (LOG.isDebugEnabled()) { LOG.debug("PreInsertEvent "+event.getEntity().getClass()+" "+event.getId()); } NakedObject adapter = NakedObjectsContext.getObjectLoader().getAdapterFor(event.getEntity()); if (adapter.getResolveState() == ResolveState.TRANSIENT) { // need to make sure object won't respond to changes in it's state // This may have already been done by the PersistAlgorithm, and though this is // probably the case it can't be guaranteed adapter.changeState(ResolveState.RESOLVED); adapter.changeState(ResolveState.UPDATING); } return false; // object not changed }
public void commit() { LOG.info("commit transaction " + this); if (complete) { throw new TransactionException("Transaction already complete; cannot commit"); } objectStore.endTransaction(); PersistenceCommand[] commandsArray = new PersistenceCommand[commands.size()]; commands.copyInto(commandsArray); if (commandsArray.length > 0) { objectStore.execute(commandsArray); } for (int i = 0; i < commandsArray.length; i++) { PersistenceCommand command = commandsArray[i]; if (command instanceof DestroyObjectCommand) { NakedObject onObject = command.onObject(); onObject.setOptimisticLock(null); onObject.changeState(ResolveState.DESTROYED); } } complete = true; }
public void makePersistent(final NakedObject object) { object.setOptimisticLock(new TestProxyVersion(1)); object.changeState(ResolveState.RESOLVED); objects.put(object.getOid(), object); }
object.changeState(ResolveState.RESOLVED); object.changeState(ResolveState.UPDATING); persistor.addPersistedObject(object);
NakedObject adapter = NakedObjectsContext.getObjectLoader().recreateAdapterForPersistent(referenceOid, field.getSpecification()); if (!adapter.getResolveState().isDestroyed()) { adapter.changeState(ResolveState.DESTROYED);
ReferenceData update = persistedUpdates[i]; adapter.changeState(ResolveState.RESOLVED); entries[i].getObject().setOptimisticLock(update.getVersion());