public void execute() { underlyingFacet.setProperty(adapter, referencedAdapter); }}); }
public void setProperty(final NakedObject adapter, final NakedObject referencedAdapter) { if (adapter.isTransient()) { // NOT !adapter.isPersistent(); // (value adapters are neither persistent or transient) underlyingFacet.setProperty(adapter, referencedAdapter); } else { getTransactionManager().executeWithinTransaction( new TransactionalClosureAbstract(){ public void execute() { underlyingFacet.setProperty(adapter, referencedAdapter); }}); } }
public void setAssociation(final NakedObject ownerAdapter, final NakedObject newReferencedAdapter) { final PropertySetterFacet setterFacet = getFacet(PropertySetterFacet.class); if (setterFacet != null) { if (ownerAdapter.isPersistent() && newReferencedAdapter != null && newReferencedAdapter.isTransient()) { // TODO: move to facet ? throw new NakedObjectException("can't set a reference to a transient object from a persistent one: " + newReferencedAdapter.titleString() + " (transient)"); } setterFacet.setProperty(ownerAdapter, newReferencedAdapter); } }
public void setAssociation(final NakedObject ownerAdapter, final NakedObject newReferencedAdapter) { final PropertySetterFacet setterFacet = getFacet(PropertySetterFacet.class); if (setterFacet != null) { if (ownerAdapter.isPersistent() && newReferencedAdapter != null && newReferencedAdapter.isTransient()) { // TODO: move to facet ? throw new NakedObjectException("can't set a reference to a transient object from a persistent one: " + newReferencedAdapter.titleString() + " (transient)"); } setterFacet.setProperty(ownerAdapter, newReferencedAdapter); } }
public void setProperty(final NakedObject targetAdapter, final NakedObject associateAdapter) { if (targetAdapter.isPersistent()) { final IdentityData targetReference = encoder.encodeIdentityData(targetAdapter); ObjectData[] updates; try { if (associateAdapter.getSpecification().isObject()) { final IdentityData associateReference = encoder.encodeIdentityData(associateAdapter); SetAssociationRequest request = new SetAssociationRequest(getAuthenticationSession(), name, targetReference, associateReference); SetAssociationResponse response = serverFacade.setAssociation(request); updates = response.getUpdates(); } else { final EncodableObjectData val = associateAdapter == null ? null : encoder.encodeAsValue(associateAdapter); SetValueRequest request = new SetValueRequest(getAuthenticationSession(), name, targetReference, val); SetValueResponse response = serverFacade.setValue(request); updates = response.getUpdates(); } } catch (final ConcurrencyException e) { throw ProxyUtil.concurrencyException(e); } encoder.decode(updates); } else { underlyingFacet.setProperty(targetAdapter, associateAdapter); } }
public void setProperty(final NakedObject targetAdapter, final NakedObject associateAdapter) { if (targetAdapter.isPersistent()) { final IdentityData targetReference = encoder.encodeIdentityData(targetAdapter); ObjectData[] updates; try { if (associateAdapter.getSpecification().isObject()) { final IdentityData associateReference = encoder.encodeIdentityData(associateAdapter); SetAssociationRequest request = new SetAssociationRequest(getAuthenticationSession(), name, targetReference, associateReference); SetAssociationResponse response = serverFacade.setAssociation(request); updates = response.getUpdates(); } else { final EncodableObjectData val = associateAdapter == null ? null : encoder.encodeAsValue(associateAdapter); SetValueRequest request = new SetValueRequest(getAuthenticationSession(), name, targetReference, val); SetValueResponse response = serverFacade.setValue(request); updates = response.getUpdates(); } } catch (final ConcurrencyException e) { throw ProxyUtil.concurrencyException(e); } encoder.decode(updates); } else { underlyingFacet.setProperty(targetAdapter, associateAdapter); } }