From 4e402f51b0e34d40c3f9d33a4bec7feffeb8d339 Mon Sep 17 00:00:00 2001 From: Tuukka Lehtonen Date: Tue, 30 Oct 2018 13:14:56 +0200 Subject: [PATCH] Fixed ComponentTypeCommands.setUnit to support unit == null If unit is null, also L0X.HasUnit should be removed. gitlab #161 Change-Id: I0e6ba32917e6281803c7bbe8b94832291e58db9a --- .../modeling/userComponent/ComponentTypeCommands.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) 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)); -- 2.43.2