X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.diagram%2Fsrc%2Forg%2Fsimantics%2Fdiagram%2Fadapter%2FEdgeRequest.java;fp=bundles%2Forg.simantics.diagram%2Fsrc%2Forg%2Fsimantics%2Fdiagram%2Fadapter%2FEdgeRequest.java;h=826827f768c3cf4a4b06578c72fe2537d9f6c23b;hp=651228ce1d7756f10516430c6bbc8c71d355cece;hb=691db89ccddae3006529c229c829dd2fd027c35c;hpb=1ca7c5aad9e845ca9969ea37c7d4bef54e94b9e2 diff --git a/bundles/org.simantics.diagram/src/org/simantics/diagram/adapter/EdgeRequest.java b/bundles/org.simantics.diagram/src/org/simantics/diagram/adapter/EdgeRequest.java index 651228ce1..826827f76 100644 --- a/bundles/org.simantics.diagram/src/org/simantics/diagram/adapter/EdgeRequest.java +++ b/bundles/org.simantics.diagram/src/org/simantics/diagram/adapter/EdgeRequest.java @@ -16,6 +16,7 @@ import org.simantics.db.common.procedure.adapter.ListenerSupport; import org.simantics.db.common.procedure.adapter.TransientCacheAsyncListener; import org.simantics.db.procedure.AsyncProcedure; import org.simantics.diagram.content.EdgeResource; +import org.simantics.diagram.internal.DebugPolicy; import org.simantics.diagram.stubs.DiagramResource; import org.simantics.diagram.synchronization.ErrorHandler; import org.simantics.g2d.canvas.ICanvasContext; @@ -30,16 +31,19 @@ import org.simantics.g2d.element.impl.Element; */ public class EdgeRequest extends BaseRequest2 { + final GraphToDiagramSynchronizer synchronizer; final ErrorHandler errorHandler; final ListenerSupport listenerSupport; final IDiagram diagram; final ConnectionSegmentAdapter adapter; - public EdgeRequest(ICanvasContext canvas, ErrorHandler errorHandler, ListenerSupport listenerSupport, IDiagram diagram, ConnectionSegmentAdapter adapter, EdgeResource resource) { + public EdgeRequest(GraphToDiagramSynchronizer synchronizer, ICanvasContext canvas, ErrorHandler errorHandler, ListenerSupport listenerSupport, IDiagram diagram, ConnectionSegmentAdapter adapter, EdgeResource resource) { super(canvas, resource); assert(adapter != null); + assert(synchronizer != null); + this.synchronizer = synchronizer; this.errorHandler = errorHandler; this.listenerSupport = listenerSupport; this.diagram = diagram; @@ -96,6 +100,13 @@ public class EdgeRequest extends BaseRequest2 { @Override public void execute(AsyncReadGraph graph, IElement element) { + + if (DebugPolicy.DEBUG_EDGE_LOAD) + System.out.println(" SPAWNED EDGE SEGMENT: " + element + " " + data); + + // Register this for updates to work correctly + synchronizer.mapElementIfNew(data, element); + // task.finish(); // Tell the procedure to use this element procedure.execute(graph, element);