import org.simantics.db.common.request.ReadRequest;
import org.simantics.db.common.request.WriteRequest;
import org.simantics.db.exception.DatabaseException;
+import org.simantics.db.layer0.util.Layer0Utils;
import org.simantics.g3d.ontology.G3D;
import org.simantics.g3d.scenegraph.RenderListener;
import org.simantics.g3d.scenegraph.base.INode;
private Set<E> graphModified = new HashSet<E>();
private boolean requestCommit = false;
+ private String commitMessage = null;
@Override
- public void commit() {
+ public void commit(String message) {
requestCommit = true;
+ commitMessage = message;
}
protected void doCommit() {
@Override
public void perform(WriteGraph graph) throws DatabaseException {
commit(graph);
+ if (commitMessage != null) {
+ Layer0Utils.addCommentMetadata(graph, commitMessage);
+ commitMessage = null;
+ }
+ graph.markUndoPoint();
}
}, new Callback<DatabaseException>() {
}
if (mapping.isRangeModified())
- commit();
+ commit("Graph sync");
}
@Override