X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.diagram%2Fsrc%2Forg%2Fsimantics%2Fdiagram%2Fadapter%2FElementFactoryUtil.java;h=f05667cb6882b73f6faab486473f9ec836e9e98d;hb=617b9475710b80a125597f222f9777224972ce72;hp=89ee666bb21b92e75519a3df2724a674dad938a9;hpb=c8cce62f9952ab3f6db451d2f22d969b4e777eaa;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.diagram/src/org/simantics/diagram/adapter/ElementFactoryUtil.java b/bundles/org.simantics.diagram/src/org/simantics/diagram/adapter/ElementFactoryUtil.java index 89ee666bb..f05667cb6 100644 --- a/bundles/org.simantics.diagram/src/org/simantics/diagram/adapter/ElementFactoryUtil.java +++ b/bundles/org.simantics.diagram/src/org/simantics/diagram/adapter/ElementFactoryUtil.java @@ -12,11 +12,13 @@ package org.simantics.diagram.adapter; import java.awt.geom.AffineTransform; +import java.util.Map; import org.simantics.db.AsyncReadGraph; import org.simantics.db.ReadGraph; import org.simantics.db.Resource; import org.simantics.db.common.procedure.adapter.AsyncProcedureAdapter; +import org.simantics.db.common.procedure.adapter.ProcedureAdapter; import org.simantics.db.exception.DatabaseException; import org.simantics.db.procedure.AsyncProcedure; import org.simantics.diagram.stubs.DiagramResource; @@ -59,6 +61,15 @@ public class ElementFactoryUtil { procedure.execute(graph, e); } + public static void readParameters(AsyncReadGraph graph, final Resource resource, final IElement e) { + graph.asyncRequest(new ElementParameterRequest(resource), new ProcedureAdapter>() { + @Override + public void execute(Map result) { + ElementUtils.setParameters(e, result); + } + }); + } + public static ISynchronizationContext getContext(IDiagram diagram) { return diagram.getHint(SynchronizationHints.CONTEXT); }