OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

odata message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: [OASIS Issue Tracker] (ODATA-811) Define propagation and (partial) overriding of annotations


     [ https://issues.oasis-open.org/browse/ODATA-811?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Ralf Handl updated ODATA-811:
-----------------------------

    Proposal: 
Terms that apply to a model construct implicitly apply to model constructs using the "applicable" construct, e.g. AppliesTo="EntityType" implies AppliesTo="Singleton EntitySet NavigationProperty Parameter".

Annotations on model constructs propagate to all places where the model construct can be used, and can be partially overridden at the using construct, with PATCH semantics for structured annotation.

Annotations on structured types also propagate down from the base type to the derived types.

Consumers (client libraries) interested in annotations for a model element have to inspect referenced model constructs, and for structured types the base type(s) to determine the effective annotation value for this model element.

If annotations reference other annotations via the AnnotationPath construct, the search for the effective annotation value restarts at the model element the consumer is interested in. Example: base type has annotation that references other annotation. This other annotation is overridden on a derived type. The annotation consumer interested in the derived type has to use the referenced annotation value on the derived type.

  was:
Terms that apply to a model construct implicitly apply to model constructs using the "applicable" construct, e.g. AppliesTo="EntityType" implies AppliesTo="Singleton EntitySet NavigationProperty Parameter".

Annotations on model constructs propagate to all places where the model construct can be used, and can be partially overridden at the using construct, with PATCH semantics for structured annotation.


> Define propagation and (partial) overriding of annotations
> ----------------------------------------------------------
>
>                 Key: ODATA-811
>                 URL: https://issues.oasis-open.org/browse/ODATA-811
>             Project: OASIS Open Data Protocol (OData) TC
>          Issue Type: Improvement
>          Components: OData CSDL
>    Affects Versions: V4.0_ERRATA02
>            Reporter: Ralf Handl
>             Fix For: V4.1_WD01
>
>
> We regularly face situations where we want to "propagate" annotations on a model element to all places where this model element is used/referenced, e.g. annotate an entity type and then have that annotation apply to all entity sets, or annotate a type definition and have that annotation apply to all properties or action parameters of that type.
> An explicit annotation on one of the usage/reference points would then overrule/modify the annotation on the used/referenced construct.
> The current specification text seems to implicitly assume this behavior, but doesn't explicitly state rules on
> - where do annotations propagate to?
> - how are structured annotations modified? PATCH semantics if only partially specified?



--
This message was sent by Atlassian JIRA
(v6.2.2#6258)


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]