]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.diagram/src/org/simantics/diagram/adapter/RouteGraphConnectionClassFactory.java
Configurable prefix and suffix text for monitors
[simantics/platform.git] / bundles / org.simantics.diagram / src / org / simantics / diagram / adapter / RouteGraphConnectionClassFactory.java
index c00820ba31a233ff92394213b51f731e21ff364d..82d24938005c2e542c8eda10422bf9112291c6f5 100644 (file)
@@ -21,11 +21,11 @@ import org.simantics.db.AsyncReadGraph;
 import org.simantics.db.ReadGraph;
 import org.simantics.db.Resource;
 import org.simantics.db.Session;
+import org.simantics.db.common.procedure.guarded.GuardedAsyncProcedureWrapper;
 import org.simantics.db.exception.DatabaseException;
 import org.simantics.db.procedure.AsyncProcedure;
 import org.simantics.diagram.adapter.RouteGraphUtils.BackendConnection;
 import org.simantics.diagram.connection.RouteGraph;
-import org.simantics.diagram.connection.RouteGraphConnectionClass;
 import org.simantics.diagram.connection.rendering.ConnectionStyle;
 import org.simantics.diagram.connection.rendering.StyledRouteGraphRenderer;
 import org.simantics.diagram.connection.rendering.arrows.ILineEndStyle;
@@ -43,6 +43,7 @@ import org.simantics.g2d.element.ElementHints;
 import org.simantics.g2d.element.IElement;
 import org.simantics.g2d.element.handler.TerminalTopology;
 import org.simantics.g2d.element.handler.impl.StaticObjectAdapter;
+import org.simantics.g2d.elementclass.RouteGraphConnectionClass;
 import org.simantics.g2d.utils.TopologicalSelectionExpander;
 import org.simantics.layer0.Layer0;
 import org.simantics.modeling.ModelingResources;
@@ -89,6 +90,14 @@ public class RouteGraphConnectionClassFactory extends SyncElementFactory {
         return DIA.Connection;
     }
 
+    @Override
+    public void load(AsyncReadGraph graph, final ICanvasContext canvas, final IDiagram diagram,
+            final Resource elementResource, final IElement element, final AsyncProcedure<IElement> procedure) {
+        GuardedAsyncProcedureWrapper<IElement> guard = new GuardedAsyncProcedureWrapper<IElement>(procedure, 2);
+        super.load(graph, canvas, diagram, elementResource, element, guard);
+        ElementFactoryUtil.loadLayersForElement(graph, diagram, element, elementResource, guard);
+    }
+
     @Override
     public void load(ReadGraph graph, ICanvasContext canvas, IDiagram diagram, final Resource connection,
             IElement element) throws DatabaseException {
@@ -97,10 +106,10 @@ public class RouteGraphConnectionClassFactory extends SyncElementFactory {
         Resource diagramRuntime = diagram.getHint(DiagramModelHints.KEY_DIAGRAM_RUNTIME_RESOURCE);
 
         Set<BackendConnection> backendConnections = new THashSet<>();
-        RouteGraph rg = RouteGraphUtils.load(graph, diagramRuntime, connection, canvas, diagram, modelingRules, backendConnections);
+        RouteGraph rg = RouteGraphUtils.load(graph, diagramRuntime, connection, canvas, diagram, element, modelingRules, backendConnections);
 
         // Load connection line style.
-        ConnectionStyle style = RouteGraphUtils.readConnectionStyle(graph, modelingRules, connection, STR);
+        ConnectionStyle style = RouteGraphUtils.readConnectionStyle(graph, modelingRules, connection, STR, DIA);
         StyledRouteGraphRenderer renderer = RouteGraphUtils.getRenderer(graph, style);
 
         // Finish element load