From: Tuukka Lehtonen Date: Tue, 30 Oct 2018 11:14:56 +0000 (+0200) Subject: Fixed ComponentTypeCommands.setUnit to support unit == null X-Git-Tag: v1.43.0~136^2~302 X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=commitdiff_plain;h=4e402f51b0e34d40c3f9d33a4bec7feffeb8d339;p=simantics%2Fplatform.git Fixed ComponentTypeCommands.setUnit to support unit == null If unit is null, also L0X.HasUnit should be removed. gitlab #161 Change-Id: I0e6ba32917e6281803c7bbe8b94832291e58db9a --- diff --git a/bundles/org.simantics.modeling/src/org/simantics/modeling/userComponent/ComponentTypeCommands.java b/bundles/org.simantics.modeling/src/org/simantics/modeling/userComponent/ComponentTypeCommands.java index ea4de26b2..74ae599e3 100644 --- a/bundles/org.simantics.modeling/src/org/simantics/modeling/userComponent/ComponentTypeCommands.java +++ b/bundles/org.simantics.modeling/src/org/simantics/modeling/userComponent/ComponentTypeCommands.java @@ -334,12 +334,12 @@ public class ComponentTypeCommands { return; } + Layer0 L0 = Layer0.getInstance(graph); Layer0X L0X = Layer0X.getInstance(graph); boolean hasRequiresDataType = graph.hasStatement(relation, L0X.RequiresDataType); if (hasRequiresDataType) { Datatype dt = graph.getDataType(object); if (dt instanceof NumberType) { - Layer0 L0 = Layer0.getInstance(graph); NumberType nt = (NumberType) Bindings.DATATYPE.cloneUnchecked(dt); nt.setUnit(unit); graph.claimLiteral(object, L0.HasDataType, L0.DataType, nt, Bindings.DATATYPE); @@ -348,7 +348,11 @@ public class ComponentTypeCommands { } String oldUnit = graph.getPossibleRelatedValue2(relation, L0X.HasUnit, Bindings.STRING); - graph.claimLiteral(relation, L0X.HasUnit, unit, Bindings.STRING); + if (unit != null) { + graph.claimLiteral(relation, L0X.HasUnit, L0.String, unit, Bindings.STRING); + } else { + graph.denyValue(relation, L0X.HasUnit); + } CommentMetadata cm = graph.getMetadata(CommentMetadata.class); graph.addMetadata(cm.add("Set unit from " + oldUnit + " to " + unit + " for component/annotation " + type + " property " + relation));