]> gerrit.simantics Code Review - simantics/r.git/blobdiff - org.simantics.r/src/org/simantics/r/RVariableBuilder.java
Fixed org.simantics.r trunk to compile after the changes done in #6287.
[simantics/r.git] / org.simantics.r / src / org / simantics / r / RVariableBuilder.java
index 90261a34d2f0045f298875c14b6ec66930013b9c..6c0366f22fb5bf2c303426e02df978fedf10768d 100644 (file)
@@ -8,6 +8,7 @@
  *\r
  * Contributors:\r
  *     VTT Technical Research Centre of Finland - initial API and implementation\r
+ *     Semantum Oy\r
  *******************************************************************************/\r
 package org.simantics.r;\r
 \r
@@ -16,9 +17,10 @@ import org.simantics.databoard.Bindings;
 import org.simantics.db.ReadGraph;\r
 import org.simantics.db.Resource;\r
 import org.simantics.db.exception.DatabaseException;\r
+import org.simantics.db.layer0.variable.NodeManagerVariableBuilder;\r
+import org.simantics.db.layer0.variable.NodeSupport;\r
 import org.simantics.db.layer0.variable.StandardGraphChildVariable;\r
 import org.simantics.db.layer0.variable.Variable;\r
-import org.simantics.db.layer0.variable.VariableBuilder;\r
 import org.simantics.db.layer0.variable.VariableNode;\r
 import org.simantics.layer0.Layer0;\r
 import org.simantics.r.scl.RSession;\r
@@ -27,7 +29,7 @@ import org.simantics.r.scl.RSessionManager;
 import org.simantics.r.scl.variable.RVariableNode;\r
 import org.simantics.simulator.variable.NodeManager;\r
 \r
-public class RVariableBuilder implements VariableBuilder {\r
+public class RVariableBuilder extends NodeManagerVariableBuilder {\r
 \r
     @Override\r
     public Variable buildChild(ReadGraph graph, Variable parent, VariableNode node, Resource child) throws DatabaseException {\r
@@ -49,13 +51,19 @@ public class RVariableBuilder implements VariableBuilder {
             }\r
         }\r
         \r
+        NodeSupport<?> support = getNodeSupport(graph, name);\r
         NodeManager<RVariableNode> nodeManager = session.getNodeManager();\r
-        return new StandardGraphChildVariable(parent, new VariableNode(nodeManager, /*node=*/nodeManager), child);\r
+        return new StandardGraphChildVariable(parent, new VariableNode(support, nodeManager), child);\r
     }\r
 \r
     @Override\r
-    public Variable buildProperty(ReadGraph graph, Variable parent, VariableNode node, Resource subject, Resource predicate) throws DatabaseException {\r
-        throw new UnsupportedOperationException();\r
+    protected NodeSupport<?> getNodeSupport(ReadGraph graph, String sessionName) throws DatabaseException {\r
+        return RSessionManager.getOrCreateNodeSupport(sessionName);\r
+    }\r
+\r
+    @Override\r
+    protected Object getRoot(ReadGraph graph, NodeSupport<?> support, String sessionName) throws DatabaseException {\r
+        return support.manager;\r
     }\r
 \r
 }\r