import org.simantics.db.Session;
import org.simantics.db.UndoContext;
import org.simantics.db.WriteGraph;
-import org.simantics.db.common.request.ReadRequest;
+import org.simantics.db.common.request.UniqueRead;
import org.simantics.db.common.request.WriteRequest;
import org.simantics.db.exception.DatabaseException;
import org.simantics.db.layer0.util.Layer0Utils;
+import org.simantics.db.procedure.SyncProcedure;
import org.simantics.db.service.UndoRedoSupport;
import org.simantics.g3d.ontology.G3D;
import org.simantics.g3d.scenegraph.RenderListener;
if (graphUpdates)
return;
if (DEBUG)System.out.println("domainModified");
- session.asyncRequest(new ReadRequest() {
-
+ session.asyncRequest(new UniqueRead<Object>() {
+ @Override
+ public Object perform(ReadGraph graph) throws DatabaseException {
+ return new Object();
+ }
+ }, new SyncProcedure<Object>() {
@Override
- public void run(ReadGraph graph) throws DatabaseException {
+ public void execute(ReadGraph graph, Object result) throws DatabaseException {
+ // Perform all updates to the model in a single query thread
update(graph);
+ };
+
+ @Override
+ public void exception(ReadGraph graph, Throwable throwable) throws DatabaseException {
+ LOGGER.error("Failed to update pipeline changes" + throwable);
}
});
-
}
protected void reset(ReadGraph graph) throws MappingException {