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