X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=org.simantics.plant3d%2Fsrc%2Forg%2Fsimantics%2Fplant3d%2Fscenegraph%2Fcontrolpoint%2FControlPointFactory.java;h=441d1276477c08c1c1b710ea456a210b27eefed4;hb=HEAD;hp=ff49b93a74404adf1b5164e7bcbfb2a54ba00518;hpb=5ed9e84f079af0000885f74a91845bb298e9a362;p=simantics%2F3d.git diff --git a/org.simantics.plant3d/src/org/simantics/plant3d/scenegraph/controlpoint/ControlPointFactory.java b/org.simantics.plant3d/src/org/simantics/plant3d/scenegraph/controlpoint/ControlPointFactory.java index ff49b93a..441d1276 100644 --- a/org.simantics.plant3d/src/org/simantics/plant3d/scenegraph/controlpoint/ControlPointFactory.java +++ b/org.simantics.plant3d/src/org/simantics/plant3d/scenegraph/controlpoint/ControlPointFactory.java @@ -6,6 +6,7 @@ import java.util.Map; import org.simantics.Simantics; import org.simantics.db.ReadGraph; +import org.simantics.db.RequestProcessor; import org.simantics.db.Resource; import org.simantics.db.exception.DatabaseException; import org.simantics.db.request.Read; @@ -20,14 +21,14 @@ public class ControlPointFactory { private static Map cache = new HashMap(); - public static void preloadCache(String libUri) throws Exception { - List items = P3DUtil.getEnds(libUri); - items.addAll(P3DUtil.getInlines(libUri)); - items.addAll(P3DUtil.getNozzles(libUri)); - items.addAll(P3DUtil.getTurns(libUri)); + public static void preloadCache(RequestProcessor session, String libUri) throws Exception { + List items = P3DUtil.getEnds(session, libUri); + items.addAll(P3DUtil.getInlines(session, libUri)); + items.addAll(P3DUtil.getNozzles(session, libUri)); + items.addAll(P3DUtil.getTurns(session, libUri)); for (Item item : items) { - Instruction inst = createInstruction(item.getUri()); + Instruction inst = createInstruction(session, item.getUri()); cache.put(item.getUri(), inst); } } @@ -35,7 +36,7 @@ public class ControlPointFactory { public static PipeControlPoint create(PipelineComponent component) throws Exception { Instruction inst = cache.get(component.getType()); if (inst == null) { - inst = createInstruction(component.getType()); + inst = createInstruction(Simantics.getSession(), component.getType()); cache.put(component.getType(), inst); } if (inst == null) { @@ -88,8 +89,8 @@ public class ControlPointFactory { } - private static Instruction createInstruction(final String type) throws Exception { - return Simantics.getSession().syncRequest(new Read() { + private static Instruction createInstruction(RequestProcessor session, final String type) throws Exception { + return session.syncRequest(new Read() { @Override public Instruction perform(ReadGraph graph) throws DatabaseException { Resource res = graph.getResource(type);