diff --git a/app/org/omg/sysml/metamodel/MetadataFeatureValue.java b/app/org/omg/sysml/metamodel/MetadataFeatureValue.java index f87e3085..a64d2888 100644 --- a/app/org/omg/sysml/metamodel/MetadataFeatureValue.java +++ b/app/org/omg/sysml/metamodel/MetadataFeatureValue.java @@ -27,4 +27,6 @@ public interface MetadataFeatureValue extends FeatureValue, MofObject { MetadataExpression getMetadataValue(); + + MetadataFeature getOwningMetadataFeature(); } \ No newline at end of file diff --git a/app/org/omg/sysml/metamodel/MetadataReferenceExpression.java b/app/org/omg/sysml/metamodel/MetadataReferenceExpression.java index f22d957b..f0622b40 100644 --- a/app/org/omg/sysml/metamodel/MetadataReferenceExpression.java +++ b/app/org/omg/sysml/metamodel/MetadataReferenceExpression.java @@ -26,5 +26,5 @@ import java.util.Set; public interface MetadataReferenceExpression extends FeatureReferenceExpression, MetadataExpression, MofObject { - MetadataFeature getReferent(); + } \ No newline at end of file diff --git a/app/org/omg/sysml/metamodel/impl/MetadataFeatureImpl.java b/app/org/omg/sysml/metamodel/impl/MetadataFeatureImpl.java index e50525fe..9d275118 100644 --- a/app/org/omg/sysml/metamodel/impl/MetadataFeatureImpl.java +++ b/app/org/omg/sysml/metamodel/impl/MetadataFeatureImpl.java @@ -593,13 +593,11 @@ public void setMembership(List membership) { - // @info.archinnov.achilles.annotations.Transient // @info.archinnov.achilles.annotations.Column("metadataFeatureValue") private MetadataFeatureValue metadataFeatureValue; @JsonGetter @JsonSerialize(using = MofObjectSerializer.class) - // @javax.persistence.Transient @Any(metaDef = "MetadataFeatureValueMetaDef", metaColumn = @javax.persistence.Column(name = "metadataFeatureValueType"), fetch = FetchType.LAZY) @JoinColumn(name = "metadataFeatureValueId", table = "MetadataFeature") public MetadataFeatureValue getMetadataFeatureValue() { diff --git a/app/org/omg/sysml/metamodel/impl/MetadataFeatureValueImpl.java b/app/org/omg/sysml/metamodel/impl/MetadataFeatureValueImpl.java index 8c718cf1..fa9ca99c 100644 --- a/app/org/omg/sysml/metamodel/impl/MetadataFeatureValueImpl.java +++ b/app/org/omg/sysml/metamodel/impl/MetadataFeatureValueImpl.java @@ -473,6 +473,25 @@ public void setOwningMembership(Membership owningMembership) { + // @info.archinnov.achilles.annotations.Column("owningMetadataFeature") + private MetadataFeature owningMetadataFeature; + + @JsonGetter + @JsonSerialize(using = MofObjectSerializer.class) + @Any(metaDef = "MetadataFeatureMetaDef", metaColumn = @javax.persistence.Column(name = "owningMetadataFeatureType"), fetch = FetchType.LAZY) + @JoinColumn(name = "owningMetadataFeatureId", table = "MetadataFeatureValue") + public MetadataFeature getOwningMetadataFeature() { + return owningMetadataFeature; + } + + @JsonSetter + @JsonDeserialize(using = MofObjectDeserializer.class, as = MetadataFeatureImpl.class) + public void setOwningMetadataFeature(MetadataFeature owningMetadataFeature) { + this.owningMetadataFeature = owningMetadataFeature; + } + + + // @info.archinnov.achilles.annotations.Transient // @info.archinnov.achilles.annotations.Column("owningNamespace") private Namespace owningNamespace; diff --git a/app/org/omg/sysml/metamodel/impl/MetadataReferenceExpressionImpl.java b/app/org/omg/sysml/metamodel/impl/MetadataReferenceExpressionImpl.java index 5740dd39..3affdc6b 100644 --- a/app/org/omg/sysml/metamodel/impl/MetadataReferenceExpressionImpl.java +++ b/app/org/omg/sysml/metamodel/impl/MetadataReferenceExpressionImpl.java @@ -1256,20 +1256,20 @@ public void setParameter(Collection parameter) { // @info.archinnov.achilles.annotations.Transient // @info.archinnov.achilles.annotations.Column("referent") - private MetadataFeature referent; + private Feature referent; @JsonGetter @JsonSerialize(using = MofObjectSerializer.class) // @javax.persistence.Transient - @Any(metaDef = "MetadataFeatureMetaDef", metaColumn = @javax.persistence.Column(name = "referentType"), fetch = FetchType.LAZY) + @Any(metaDef = "FeatureMetaDef", metaColumn = @javax.persistence.Column(name = "referentType"), fetch = FetchType.LAZY) @JoinColumn(name = "referentId", table = "MetadataReferenceExpression") - public MetadataFeature getReferent() { + public Feature getReferent() { return referent; } @JsonSetter - @JsonDeserialize(using = MofObjectDeserializer.class, as = MetadataFeatureImpl.class) - public void setReferent(MetadataFeature referent) { + @JsonDeserialize(using = MofObjectDeserializer.class, as = FeatureImpl.class) + public void setReferent(Feature referent) { this.referent = referent; } diff --git a/build.sbt b/build.sbt index f16dc5d4..c982a490 100644 --- a/build.sbt +++ b/build.sbt @@ -1,7 +1,7 @@ name := """SysML-v2-API-Services""" organization := "org.omg" -version := "2020-12-rc1" +version := "2020-12-rc2" javacOptions ++= Seq("-source", "11", "-target", "11", "-Xlint") diff --git a/public/jsonld/MetadataFeatureValue.jsonld b/public/jsonld/MetadataFeatureValue.jsonld index 978f8063..93642bd2 100644 --- a/public/jsonld/MetadataFeatureValue.jsonld +++ b/public/jsonld/MetadataFeatureValue.jsonld @@ -24,6 +24,7 @@ "ownedTextualRepresentation": {"@type": "@id"}, "owner": {"@type": "@id"}, "owningMembership": {"@type": "@id"}, + "owningMetadataFeature": {"@type": "@id"}, "owningNamespace": {"@type": "@id"}, "owningRelatedElement": {"@type": "@id"}, "owningRelationship": {"@type": "@id"},