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-631) How do annotations that target entity sets work against singletons/containment?


    [ https://tools.oasis-open.org/issues/browse/ODATA-631?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=37834#comment-37834 ] 

Michael Pizzo commented on ODATA-631:
-------------------------------------

The following capabilities terms all apply to colleciton-valued navigationproperties (and entity collections returned from functions):
-CountRestrictions
-NavigationRestrictions
-IndexableByKey
-TopSupported
-SkipSupported
-FilterFunctions
-FilterRestrictions
-SortRestrictions
-ExpandRestrictions
-SearchRestrictions
-InsertRestrictions
-UpdateRestrictions
-DeleteRestrictions

Most of the capabilities annotations that target entity sets were placed on the entity set, versus the entity type, because we thought the capabilities were more dependent upon the set than the type. So, really, capabilities of containment nav props (and functions) should probably be annotations that target a navproppath starting from an entityset or singleton, or the entityset that the function returns entities from.

We could do this something like:

<Annotations Target="SalesSchema.SalesContainer/Orders/OrderDetails">
 <Annotation Term="Capabilities.TopSupported" Boolean="True"/>
 <Annotation Term="Capabilities.SkipSupported" Boolean="False"/>
</Annotations>

But that would require that we relax the definition of the Target attribute to support navigationpropertypaths (and probably propertypaths in general) from an entityset, not just a type. This path would also need to support cast segments, such as:

<Annotations Target="SalesSchema.SalesContainer/Customers/SalesSchema.PremiumCustomer/PremiumOrders">
 <Annotation Term="Capabilities.TopSupported" Boolean="True"/>
 <Annotation Term="Capabilities.SkipSupported" Boolean="False"/>
</Annotations>

(Note that this might have been a better way to do some of the current restrictions that take a navproppath from the entityset.)

> How do annotations that target entity sets work against singletons/containment?
> -------------------------------------------------------------------------------
>
>                 Key: ODATA-631
>                 URL: https://tools.oasis-open.org/issues/browse/ODATA-631
>             Project: OASIS Open Data Protocol (OData) TC
>          Issue Type: Improvement
>          Components: OData Protocol 
>    Affects Versions: V4.0_OS
>         Environment: [Proposed]
>            Reporter: Michael Pizzo
>             Fix For: V4.0_ERRATA01
>
>
> We have a number of annotations (for example, in the capabilities vocabulary) that target entity sets. Most of these annotations can similarly be applied to containment relationships and singletons. How does the service apply such annotations to containment/singletons?



--
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]