private void processChange(GraphDiff diff) { changeLog.addOperation(diff); if (changeEventsEnabled) { send(diff, DataChannel.GRAPH_CHANGED_SUBJECT, context); } }
void repostAfterMerge(GraphEvent originalEvent) { // though the subject is CHANGE, "merge" events are really lifecycle. if (context.isLifecycleEventsEnabled()) { context.internalGraphManager().send( originalEvent.getDiff(), DataChannel.GRAPH_CHANGED_SUBJECT, originalEvent.getSource()); } }
void graphReverted() { GraphDiff diff = changeLog.getDiffs(); diff.undo(new NullChangeHandler()); stateLog.graphReverted(); reset(); if (lifecycleEventsEnabled) { send(diff, DataChannel.GRAPH_ROLLEDBACK_SUBJECT, context); } }
void graphCommitted(GraphDiff parentSyncDiff) { if (parentSyncDiff != null) { new CayenneContextMergeHandler(context).merge(parentSyncDiff); } if (lifecycleEventsEnabled) { GraphDiff diff = changeLog.getDiffsAfterMarker(COMMIT_MARKER); stateLog.graphCommitted(); reset(); // include all diffs after the commit start marker. send(diff, DataChannel.GRAPH_FLUSHED_SUBJECT, context); } else { stateLog.graphCommitted(); reset(); } }