public void nodePropertyChanged( Object nodeId, String property, Object oldValue, Object newValue) { Object object = context.internalGraphManager().getNode(nodeId); if (object != null) { // do not override local changes.... PropertyDescriptor p = propertyForId(nodeId, property); if (Util.nullSafeEquals(p.readPropertyDirectly(object), oldValue)) { p.writePropertyDirectly(object, oldValue, newValue); } } }
public void nodePropertyChanged( Object nodeId, String property, Object oldValue, Object newValue) { Persistent object = (Persistent) context.getGraphManager().getNode(nodeId); if (object != null && object.getPersistenceState() != PersistenceState.HOLLOW) { // do not override local changes.... PropertyDescriptor p = propertyForId(nodeId, property); if (Util.nullSafeEquals(p.readPropertyDirectly(object), oldValue)) { p.writePropertyDirectly(object, oldValue, newValue); } } }
protected void updateReverse(List resolved) { EntityResolver resolver = relationshipOwner.getObjectContext().getEntityResolver(); ObjEntity sourceEntity = resolver.getObjEntity(relationshipOwner.getObjectId().getEntityName()); ObjRelationship relationship = sourceEntity.getRelationship(relationshipName); ObjRelationship reverse = relationship.getReverseRelationship(); if (reverse != null && !reverse.isToMany()) { PropertyDescriptor property = resolver.getClassDescriptor(reverse.getSourceEntity().getName()).getProperty( reverse.getName()); for (Object o : resolved) { property.writePropertyDirectly(o, null, relationshipOwner); } } } }