DataObject findObject(Object nodeId) { return (DataObject) graphManager.getNode(nodeId); }
protected void handleSimplePropertyChange( Persistent object, String propertyName, Object oldValue, Object newValue) { context.getGraphManager().nodePropertyChanged( object.getObjectId(), propertyName, oldValue, newValue); markAsDirty(object); }
Object node = graphManager.getNode(id); if (node instanceof Persistent) { Persistent persistentNode = (Persistent) node; graphManager.unregisterNode(id);
/** * @since 3.1 */ @Override public <T extends Persistent> T localObject(T objectFromAnotherContext) { if (objectFromAnotherContext == null) { throw new NullPointerException("Null object argument"); } ObjectId id = objectFromAnotherContext.getObjectId(); // first look for the ID in the local GraphManager synchronized (getGraphManager()) { @SuppressWarnings("unchecked") T localObject = (T) getGraphManager().getNode(id); if (localObject != null) { return localObject; } // create a hollow object, optimistically assuming that the ID we got from // 'objectFromAnotherContext' is a valid ID either in the parent context or in the DB. // This essentially defers possible FaultFailureExceptions. ClassDescriptor descriptor = getEntityResolver().getClassDescriptor(id.getEntityName()); @SuppressWarnings("unchecked") T persistent = (T) descriptor.createObject(); persistent.setObjectContext(this); persistent.setObjectId(id); persistent.setPersistenceState(PersistenceState.HOLLOW); getGraphManager().registerNode(id, persistent); return persistent; } }
protected void handleArcPropertyChange( Persistent object, ArcProperty property, Object oldValue, Object newValue) { if (oldValue != newValue) { markAsDirty(object); if (oldValue instanceof Persistent) { context.getGraphManager().arcDeleted( object.getObjectId(), ((Persistent) oldValue).getObjectId(), property.getName()); } if (newValue instanceof Persistent) { context.getGraphManager().arcCreated( object.getObjectId(), ((Persistent) newValue).getObjectId(), property.getName()); } } }
graphManager.registerNode(object.getObjectId(), object); graphManager.nodeCreated(object.getObjectId());
public void nodeRemoved(Object nodeId) { context.getGraphManager().unregisterNode(nodeId); }
private void unsetReverse( ArcProperty property, Persistent sourceObject, Persistent targetObject) { ArcProperty reverseArc = property.getComplimentaryReverseArc(); if (reverseArc != null) { reverseArc.writePropertyDirectly(targetObject, sourceObject, null); context.getGraphManager().arcDeleted( targetObject.getObjectId(), sourceObject.getObjectId(), reverseArc.getName()); markAsDirty(targetObject); } } }
private void deletePersistent(Persistent object) { int oldState = object.getPersistenceState(); object.setPersistenceState(PersistenceState.DELETED); processDeleteRules(object, oldState); context.getGraphManager().nodeRemoved(object.getObjectId()); }
private void setReverse( ArcProperty property, final Persistent sourceObject, final Persistent targetObject) { ArcProperty reverseArc = property.getComplimentaryReverseArc(); if (reverseArc != null) { reverseArc.visit(new PropertyVisitor() { public boolean visitCollectionArc(CollectionProperty property) { property.addTarget(targetObject, sourceObject, false); return false; } public boolean visitSingleObjectArc(SingleObjectArcProperty property) { property.setTarget(targetObject, sourceObject, false); return false; } public boolean visitProperty(Property property) { return false; } }); context.getGraphManager().arcCreated( targetObject.getObjectId(), sourceObject.getObjectId(), reverseArc.getName()); markAsDirty(targetObject); } }
Persistent cachedObject = (Persistent) getGraphManager().getNode(id); localObject.setObjectId(id); getGraphManager().registerNode(id, localObject); localObject.setPersistenceState(PersistenceState.HOLLOW);
void handleArcPropertyChange( Persistent object, ArcProperty property, Object oldValue, Object newValue) { boolean arcChangeInProcess = isArchChangeInProcess(); // prevent reverse actions down the stack setArcChangeInProcess(true); if (oldValue instanceof Persistent) { context.getGraphManager().arcDeleted( object.getObjectId(), ((Persistent) oldValue).getObjectId(), property.getName()); if (!arcChangeInProcess) { unsetReverse(property, object, (Persistent) oldValue); } markAsDirty(object); } if (newValue instanceof Persistent) { context.getGraphManager().arcCreated( object.getObjectId(), ((Persistent) newValue).getObjectId(), property.getName()); if (!arcChangeInProcess) { setReverse(property, object, (Persistent) newValue); } markAsDirty(object); } }
private void deleteNew(Persistent object) throws DeleteDenyException { object.setPersistenceState(PersistenceState.TRANSIENT); processDeleteRules(object, PersistenceState.NEW); // if an object was NEW, we must throw it out context.getGraphManager().unregisterNode(object.getObjectId()); }
static void unsetReverse(final Persistent sourceObject, String propertyName, final Persistent targetObject) { ArcProperty property = (ArcProperty) Cayenne.getClassDescriptor(sourceObject).getProperty(propertyName); ArcProperty reverseArc = property.getComplimentaryReverseArc(); if (reverseArc != null) { reverseArc.visit(new PropertyVisitor() { public boolean visitToMany(ToManyProperty property) { property.removeTargetDirectly(targetObject, sourceObject); return false; } public boolean visitToOne(ToOneProperty property) { property.setTarget(targetObject, null, false); return false; } public boolean visitAttribute(AttributeProperty property) { return false; } }); sourceObject.getObjectContext().getGraphManager() .arcDeleted(targetObject.getObjectId(), sourceObject.getObjectId(), reverseArc.getName()); markAsDirty(targetObject); } }
private void deletePersistent(Persistent object) throws DeleteDenyException { context.getEntityResolver().getCallbackRegistry().performCallbacks( LifecycleEvent.PRE_REMOVE, object); int oldState = object.getPersistenceState(); object.setPersistenceState(PersistenceState.DELETED); processDeleteRules(object, oldState); context.getGraphManager().nodeRemoved(object.getObjectId()); }
static void setReverse(final Persistent sourceObject, String propertyName, final Persistent targetObject) { ArcProperty property = (ArcProperty) Cayenne.getClassDescriptor(sourceObject).getProperty(propertyName); ArcProperty reverseArc = property.getComplimentaryReverseArc(); if (reverseArc != null) { reverseArc.visit(new PropertyVisitor() { public boolean visitToMany(ToManyProperty property) { property.addTargetDirectly(targetObject, sourceObject); return false; } public boolean visitToOne(ToOneProperty property) { property.setTarget(targetObject, sourceObject, false); return false; } public boolean visitAttribute(AttributeProperty property) { return false; } }); sourceObject.getObjectContext().getGraphManager() .arcCreated(targetObject.getObjectId(), sourceObject.getObjectId(), reverseArc.getName()); markAsDirty(targetObject); } }
public void nodeCreated(Object nodeId) { Op op = seenIds.put(nodeId, Op.INSERT); if (op == null) { Object node = graphManager.getNode(nodeId); if (node != null) { if (persisted == null) { persisted = new ArrayList<>(); } persisted.add(node); } } }
T object = (T) graphManager.getNode(id); graphManager.registerNode(id, object);
private void deleteNew(Persistent object) { object.setPersistenceState(PersistenceState.TRANSIENT); processDeleteRules(object, PersistenceState.NEW); context.getGraphManager().unregisterNode(object.getObjectId()); }
context.getGraphManager().arcDeleted(object.getObjectId() , relatedObject.getObjectId(), relationship.getName());