]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/variable/Variables.java
Removed jsonValues since there already is Data/Json
[simantics/platform.git] / bundles / org.simantics.db.layer0 / src / org / simantics / db / layer0 / variable / Variables.java
index 06050adf7417f275f2329ca90f1543ec8b161f38..5fb0636a08dec5e41a616b863c58bbb7fbbaa4df 100644 (file)
@@ -18,6 +18,7 @@ import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
 
+import org.simantics.databoard.Databoard;
 import org.simantics.databoard.binding.Binding;
 import org.simantics.databoard.binding.mutable.Variant;
 import org.simantics.databoard.type.Datatype;
@@ -26,6 +27,7 @@ import org.simantics.databoard.util.URIStringUtils;
 import org.simantics.db.ReadGraph;
 import org.simantics.db.RequestProcessor;
 import org.simantics.db.Resource;
+import org.simantics.db.WriteGraph;
 import org.simantics.db.common.request.PossibleIndexRoot;
 import org.simantics.db.common.request.TernaryRead;
 import org.simantics.db.common.utils.Logger;
@@ -803,5 +805,13 @@ final public class Variables {
                return new SCLValueAccessor(getValue1, getValue2, setValue2, setValue3, getDatatype);
        }
 
-    
+    public static void setRVIProperty(WriteGraph graph, Variable variable, RVI rvi) throws DatabaseException {
+        Layer0 L0 = Layer0.getInstance(graph);
+        Binding rviBinding = graph.getService(Databoard.class).getBindingUnchecked( RVI.class );
+        Resource predicate = variable.getPredicateResource(graph);
+        Resource subject = variable.getParent(graph).getRepresents(graph);
+        graph.deny(subject, predicate);
+        graph.claimLiteral(subject, predicate, L0.RVI, rvi, rviBinding);
+    }
+
 }