X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.simulator.toolkit.db%2Fsrc%2Forg%2Fsimantics%2Fsimulator%2Ftoolkit%2Fdb%2FStandardVariableManagerVariableBuilder.java;fp=bundles%2Forg.simantics.simulator.toolkit.db%2Fsrc%2Forg%2Fsimantics%2Fsimulator%2Ftoolkit%2Fdb%2FStandardVariableManagerVariableBuilder.java;h=7699a24fee35969a5701cfa98d4cc076debfcbd9;hb=bb4e04be3cb29a5d08e412cd4eaa90ad0158b954;hp=0000000000000000000000000000000000000000;hpb=a5a5b0f8e0d52f5e400e3857c12fe862dd2e2dd9;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.simulator.toolkit.db/src/org/simantics/simulator/toolkit/db/StandardVariableManagerVariableBuilder.java b/bundles/org.simantics.simulator.toolkit.db/src/org/simantics/simulator/toolkit/db/StandardVariableManagerVariableBuilder.java new file mode 100644 index 000000000..7699a24fe --- /dev/null +++ b/bundles/org.simantics.simulator.toolkit.db/src/org/simantics/simulator/toolkit/db/StandardVariableManagerVariableBuilder.java @@ -0,0 +1,29 @@ +package org.simantics.simulator.toolkit.db; + +import org.simantics.db.ReadGraph; +import org.simantics.db.exception.DatabaseException; +import org.simantics.db.layer0.variable.NodeManagerVariableBuilder; +import org.simantics.db.layer0.variable.NodeSupport; +import org.simantics.simulator.toolkit.StandardNodeManager; + +public abstract class StandardVariableManagerVariableBuilder extends NodeManagerVariableBuilder { + + @Override + protected Object getRoot(ReadGraph graph, NodeSupport support, String sessionName) { + StandardNodeManager manager = (StandardNodeManager)support.manager; + return manager.getRoot(); + } + + /* + * For compatibility reasons. Existing implementations implement getNodeSupport directly and in that case this is not needed. + * New implementations should not implement getNodeSupport but rather implement this. + */ + protected StandardVariableSessionManager getSessionManager() { + throw new UnsupportedOperationException(); + } + + protected NodeSupport getNodeSupport(ReadGraph graph, String sessionName) throws DatabaseException { + return getSessionManager().getOrCreateNodeSupport(graph, sessionName); + } + +}