import org.simantics.db.Session;
import org.simantics.db.WriteGraph;
import org.simantics.db.common.procedure.adapter.TransientCacheListener;
+import org.simantics.db.common.procedure.guarded.GuardedAsyncProcedureWrapper;
import org.simantics.db.common.request.ResourceRead;
import org.simantics.db.common.request.TernaryRead;
import org.simantics.db.common.request.WriteRequest;
procedure.execute(graph, createFlagClass(DIA.Flag, DIA.Flag_Terminal));
}
+ @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 g, ICanvasContext canvas, IDiagram diagram, Resource flag, IElement e) throws DatabaseException {
Layer0 l0 = g.getService(Layer0.class);
if (ftr != null) {
IFlagType ft = ftr.read(g, flag, modelingRules);
- FlagInfo info = ft.getInfo(g);
+ FlagInfo info = ft.getInfo(g, canvas);
Shape shape = info.getShape();
if (shape != null) {