public void execute(final ExecutionContext context) throws ObjectPersistenceException { LOG.debug(" destroy object " + object); SerialOid oid = (SerialOid) object.getOid(); dataManager.remove(oid); object.setOptimisticLock(null); }
public void execute(final ExecutionContext context) { LOG.info(" create object " + object); NakedObjectSpecification specification = object.getSpecification(); LOG.debug(" saving object " + object + " as instance of " + specification.getFullName()); TransientObjectStoreInstances ins = instancesFor(specification); ins.add(object); oidObjectMap.put(object.getOid(), object); object.setOptimisticLock(new SerialNumberVersion(1, "user", new Date())); }
public void execute(final ExecutionContext context) { NakedObjectSpecification specification = object.getSpecification(); LOG.info(" saving object " + object + " as instance of " + specification.getFullName()); Version version = object.getVersion(); SerialNumberVersion serialNumberVersion = (SerialNumberVersion) version; Version next = serialNumberVersion.next("user", new Date()); object.setOptimisticLock(next); }
public void execute(final ExecutionContext context) throws ObjectPersistenceException { LOG.debug(" create object " + object); String user = NakedObjectsContext.getSession().getUserName(); object.setOptimisticLock(new FileVersion(user)); ObjectData data = createObjectData(object, true); dataManager.insertObject(data); }
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); }
public void objectChanged(final NakedObject object) { actions.addElement("object changed " + object.getOid()); object.setOptimisticLock(((DummyVersion) object.getVersion()).next()); }
public void objectChanged(final NakedObject object) { actions.addElement("object changed " + object.getOid()); object.setOptimisticLock(((TestProxyVersion) object.getVersion()).next()); }
public void makePersistent(final NakedObject object) { actions.addElement("make persistent " + object.getOid()); NakedObjectsContext.getObjectLoader().madePersistent(object); // object.persistedAs(oid); object.setOptimisticLock(new DummyVersion(1)); }
public void execute(final ExecutionContext context) throws ObjectPersistenceException { LOG.debug(" save object " + object); if (Features.isAggregated(object.getSpecification())) { NakedObject parent = object.getSpecification().getAggregate(object); Data data = createObjectData(parent, true); dataManager.save(data); } else { String user = NakedObjectsContext.getSession().getUserName(); object.setOptimisticLock(new FileVersion(user)); Data data = createObjectData(object, true); dataManager.save(data); } }
public void set(final Object target, final Object value, final SessionFactoryImplementor factory) throws HibernateException { try { NakedObject nakedTarget = NakedObjectsContext.getObjectLoader().getAdapterFor(target); LongVersion version = (LongVersion) nakedTarget.getVersion(); if (version == null) { version = new LongVersion(); nakedTarget.setOptimisticLock(version); } versionAccessor.set(version, value); if (wrappedSetter != null) { wrappedSetter.set(target, value, factory); } } catch (Exception e) { throw new PropertyAccessException(e, "could not set a value by reflection", true, clazz, name); } } }
public void testExecuteClientActionFailsWithConcurrencyError() { NakedObject adapter = system.createPersistentTestObject(); adapter.setOptimisticLock(new TestProxyVersion(7)); Oid oid = adapter.getOid(); DummyIdentityData identityData = new DummyIdentityData(oid, TestProxyNakedObject.class.getName(), new TestProxyVersion(6)); try { server.executeClientAction(new NullSession(), new ReferenceData[] { identityData }, new int[] { ClientTransactionEvent.DELETE }); fail(); } catch (ConcurrencyException expected) { } }
entries[i].getObject().setOptimisticLock(update.getVersion()); entries[i].getObject().setOptimisticLock(changedVersions[i]); NakedObjectsContext.getUpdateNotifer().addChangedObject(entries[i].getObject()); break;
private void initObject(final NakedObject object, final ObjectData data) { if (object.getResolveState().isResolvable(ResolveState.RESOLVING)) { objectLoader().start(object, ResolveState.RESOLVING); NakedObjectField[] fields = object.getSpecification().getFields(); for (int i = 0; i < fields.length; i++) { NakedObjectField field = fields[i]; if (!field.isPersisted()) { continue; } if (field.isValue()) { NakedValue value = (NakedValue) ((ValueAssociation) field).get(object); String valueData = data.value(field.getId()); value.restoreFromEncodedString(valueData == null ? "NULL" : valueData); ((ValueAssociation) field).initValue(object, value); } else if (field.isCollection()) { initObjectSetupCollection(object, data, field); } else if (field.isObject()) { initObjectSetupReference(object, data, field); } } object.setOptimisticLock(data.getVersion()); objectLoader().end(object); } }