X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.db.layer0%2Fsrc%2Forg%2Fsimantics%2Fdb%2Flayer0%2Fvariable%2FVariables.java;h=5fb0636a08dec5e41a616b863c58bbb7fbbaa4df;hb=3c2807a26920491016a1887d2c1a95609c082a19;hp=06050adf7417f275f2329ca90f1543ec8b161f38;hpb=0ae2b770234dfc3cbb18bd38f324125cf0faca07;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/variable/Variables.java b/bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/variable/Variables.java index 06050adf7..5fb0636a0 100644 --- a/bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/variable/Variables.java +++ b/bundles/org.simantics.db.layer0/src/org/simantics/db/layer0/variable/Variables.java @@ -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); + } + }