1 package org.simantics.modeling.scl;
\r
3 import org.simantics.db.ReadGraph;
\r
4 import org.simantics.db.exception.DatabaseException;
\r
5 import org.simantics.db.layer0.variable.NodeManagerVariableBuilder;
\r
6 import org.simantics.db.layer0.variable.NodeSupport;
\r
8 public class SCLVariableBuilder extends NodeManagerVariableBuilder {
\r
11 protected NodeSupport<?> getNodeSupport(ReadGraph graph, String sessionName) throws DatabaseException {
\r
12 return SCLSessionManager.getOrCreateNodeSupport(sessionName);
\r
16 protected Object getRoot(ReadGraph graph, NodeSupport<?> support, String sessionName) {
\r
17 //CachingNodeManager<?> cnm = (CachingNodeManager<?>)support.manager;
\r
18 SCLNodeManager manager = (SCLNodeManager)support.manager;
\r
19 return manager.getRoot();
\r
25 //implements VariableBuilder {
\r
28 // public Variable buildChild(ReadGraph graph, Variable parent, VariableNode node, Resource child) throws DatabaseException {
\r
29 // Layer0 L0 = Layer0.getInstance(graph);
\r
30 // String childName = graph.getRelatedValue(child, L0.HasName, Bindings.STRING);
\r
31 // String sessionName = parent.getURI(graph) + "/" + childName;
\r
32 // SCLRealm session = SCLSessionManager.sclRealmById(sessionName);
\r
33 // if(session == null) {
\r
34 // session = SCLSessionManager.getOrCreateSCLRealm(sessionName);
\r
36 // return new StandardGraphChildVariable(parent, new VariableNode(new NodeSupport<String>(session.getNodeManager()), SCLNodeManager.ROOT), child);
\r
40 // public Variable buildProperty(ReadGraph graph, Variable parent, VariableNode node, Resource subject, Resource predicate) throws DatabaseException {
\r
41 // throw new UnsupportedOperationException();
\r