X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.modeling%2Fsrc%2Forg%2Fsimantics%2Fmodeling%2FuserComponent%2FComponentTypeCommands.java;h=74ae599e3797f6a06d9c07f2c9ed6bc7d4789843;hp=ea4de26b22da5fe935c6153093ed476304278954;hb=4e402f51b0e34d40c3f9d33a4bec7feffeb8d339;hpb=72d52b5910e1ed0141b6768ef700e7321ac05553 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));