Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ODATA-1412 - Capabilities vocabulary: Add EntityContainer as annotation target #119

Merged
merged 27 commits into from
Apr 10, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
6b732f9
Added term DefaultCapabilities
GeraldKrause Apr 16, 2021
d4a50a7
Merge branch 'master' into ODATA-1412
ralfhandl Apr 23, 2021
8afb674
Preview of proposal to facilitate discussion
GeraldKrause Apr 26, 2021
734d288
Merge branch 'master' into ODATA-1412
ralfhandl May 10, 2021
54e4300
Merge branch 'master' into ODATA-1412
ralfhandl May 27, 2021
9308add
Complete definition of term Capabilities.DefaultCapabilties
GeraldKrause Jun 16, 2021
951e182
Renamed base types for default capabilities
ralfhandl Jun 24, 2021
d0fa7a6
Merge branch 'master' into ODATA-1412
ralfhandl Jun 24, 2021
3b73340
Merge branch 'main' into ODATA-1412
ralfhandl Jul 23, 2021
b720b41
Merge branch 'main' into ODATA-1412
ralfhandl Aug 3, 2021
baa690f
Merge branch 'main' into ODATA-1412
ralfhandl Aug 6, 2021
b9cf4d2
Clarified semantics of annotating DefaultCapabilities, aligned with s…
GeraldKrause Aug 19, 2021
f04a8dc
Merge branch 'main' into ODATA-1412
ralfhandl Dec 13, 2021
f4dcfee
Merge branch 'main' into ODATA-1412
ralfhandl Dec 17, 2021
f3f14e0
Merge branch 'main' into ODATA-1412
ralfhandl Feb 3, 2022
e2cc7f7
Merge branch 'main' into ODATA-1412
ralfhandl Feb 10, 2022
aa580ff
Merge remote-tracking branch 'origin/main' into ODATA-1412
HeikoTheissen May 6, 2022
40b6cc0
Merge remote-tracking branch 'origin/main' into ODATA-1412
HeikoTheissen Jun 24, 2022
2f4afa7
Merge branch 'main' into ODATA-1412
HeikoTheissen Aug 31, 2022
37a7c5b
Merge branch 'main' into ODATA-1412
ralfhandl Feb 13, 2024
d1a45da
Merge branch 'main' into ODATA-1412
ralfhandl Feb 29, 2024
788c389
Merge branch 'main' into ODATA-1412
ralfhandl Apr 3, 2024
91af436
Revert unintentional line breaks
ralfhandl Apr 3, 2024
fac2855
Align description with AppliesTo
ralfhandl Apr 3, 2024
cd6033f
Merge remote-tracking branch 'origin/main' into ODATA-1412
HeikoTheissen Apr 10, 2024
5751b33
As aligned with @ralfhandl and @GeraldKrause
HeikoTheissen Apr 10, 2024
94df46a
Merge remote-tracking branch 'origin/main' into ODATA-1412
HeikoTheissen Apr 10, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
100 changes: 100 additions & 0 deletions vocabularies/Org.OData.Capabilities.V1.json
Original file line number Diff line number Diff line change
Expand Up @@ -1365,6 +1365,106 @@
],
"@Core.RequiresType": "Edm.Stream",
"@Core.Description": "Stream property supports update of its media edit URL and/or media read URL"
},
"DefaultCapabilities": {
"$Kind": "Term",
"$Type": "Capabilities.DefaultCapabilitiesType",
"$AppliesTo": [
"EntityContainer"
],
"@Core.Description": "Default capability settings for all collection-valued resources in the container. Annotating a capability term for a specific collection-valued resource overrides the default setting"
},
"DefaultCapabilitiesType": {
"$Kind": "ComplexType",
"ChangeTrackingSupported": {
"$Type": "Edm.Boolean",
"$DefaultValue": true,
"@Core.Description": "`odata.track-changes` preference is supported"
},
"IndexableByKey": {
"$Type": "Edm.Boolean",
"$DefaultValue": false,
"@Core.Description": "Supports key values according to OData URL conventions",
"@Core.LongDescription": "Can be overruled by annotating term `IndexableByKey` on an entity set or term `NavigationRestrictions`, property `RestrictedProperties/IndexableByKey` for a navigation property path starting at a set"
},
"CountSupported": {
"$Type": "Edm.Boolean",
"$DefaultValue": false,
"@Core.Description": "Entities can be counted (only valid if targeting an entity set)",
"@Core.LongDescription": "Can be overruled by annotating term `CountRestrictions` on an entity set"
},
"TopSupported": {
"$Type": "Edm.Boolean",
"$DefaultValue": false,
"@Core.Description": "`$top` is supported",
"@Core.LongDescription": "Can be overruled by annotating term `TopSupported` on an entity set or term `NavigationRestrictions`, property `RestrictedProperties/TopSupported` for a navigation property path starting at a set"
},
"SkipSupported": {
"$Type": "Edm.Boolean",
"$DefaultValue": false,
"@Core.Description": "`$skip` is supported",
"@Core.LongDescription": "Can be overruled by annotating term `SkipSupported` on an entity set or term `NavigationRestrictions`, property `RestrictedProperties/SkipSupported` for a navigation property path starting at a set"
},
"ComputeSupported": {
"$Type": "Edm.Boolean",
"$DefaultValue": false,
"@Core.Description": "`$compute` is supported",
"@Core.LongDescription": "Can be overruled by annotating term `ComputeSupported` on an entity set"
},
"SelectSupported": {
"$Type": "Edm.Boolean",
"$DefaultValue": false,
"@Core.Description": "`$select` is supported",
"@Core.LongDescription": "Can be overruled by annotating term `SelectSupport` on an entity set or term `NavigationRestrictions`, property `RestrictedProperties/SelectSupport` for a navigation property path starting at a set"
},
"FilterSupported": {
"$Type": "Edm.Boolean",
"$DefaultValue": false,
"@Core.Description": "`$filter` is supported",
"@Core.LongDescription": "Can be overruled by annotating term `FilterRestrictions` on an entity set or term `NavigationRestrictions`, property `RestrictedProperties/FilterRestrictions` for a navigation property path starting at a set"
},
"SortSupported": {
"$Type": "Edm.Boolean",
"$DefaultValue": false,
"@Core.Description": "`$orderby` is supported",
"@Core.LongDescription": "Can be overruled by annotating term `SortRestrictions` on an entity set or term `NavigationRestrictions`, property `RestrictedProperties/SortRestrictions` for a navigation property path starting at a set"
},
"ExpandSupported": {
"$Type": "Edm.Boolean",
"$DefaultValue": false,
"@Core.Description": "`$expand` is supported",
"@Core.LongDescription": "Can be overruled by annotating term `ExpandRestrictions` on an entity set"
},
"SearchSupported": {
"$Type": "Edm.Boolean",
"$DefaultValue": false,
"@Core.Description": "`$search` is supported",
"@Core.LongDescription": "Can be overruled by annotating term `SearchRestrictions` on an entity set or term `NavigationRestrictions`, property `RestrictedProperties/SearchRestrictions` for a navigation property path starting at a set"
},
"ReadSupported": {
"$Type": "Edm.Boolean",
"$DefaultValue": false,
"@Core.Description": "Entities can be retrieved",
"@Core.LongDescription": "Can be overruled by annotating term `ReadRestrictions` on an entity set or term `NavigationRestrictions`, property `RestrictedProperties/ReadRestrictions` for a navigation property path starting at a set"
},
"InsertSupported": {
"$Type": "Edm.Boolean",
"$DefaultValue": false,
"@Core.Description": "Entities can be inserted",
"@Core.LongDescription": "Can be overruled by annotating term `InsertRestrictions` on an entity set or term `NavigationRestrictions`, property `RestrictedProperties/InsertRestrictions` for a navigation property path starting at a set"
},
"UpdateSupported": {
"$Type": "Edm.Boolean",
"$DefaultValue": false,
"@Core.Description": "Entities can be updated",
"@Core.LongDescription": "Can be overruled by annotating term `UpdateRestrictions` on an entity set or term `NavigationRestrictions`, property `RestrictedProperties/UpdateRestrictions` for a navigation property path starting at a set"
},
"DeleteSupported": {
"$Type": "Edm.Boolean",
"$DefaultValue": false,
"@Core.Description": "Entities can be deleted",
"@Core.LongDescription": "Can be overruled by annotating term `DeleteRestrictions` on an entity set or term `NavigationRestrictions`, property `RestrictedProperties/DeleteRestrictions` for a navigation property path starting at a set"
}
}
}
}
22 changes: 22 additions & 0 deletions vocabularies/Org.OData.Capabilities.V1.md
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@ Term|Type|Description
[CustomHeaders](Org.OData.Capabilities.V1.xml#L915)|\[[CustomParameter](#CustomParameter)\]|<a name="CustomHeaders"></a>Custom headers that are supported/required for the annotated resource ([Example](Org.OData.Capabilities.V1.xml#L917))
[CustomQueryOptions](Org.OData.Capabilities.V1.xml#L941)|\[[CustomParameter](#CustomParameter)\]|<a name="CustomQueryOptions"></a>Custom query options that are supported/required for the annotated resource ([Example](Org.OData.Capabilities.V1.xml#L944))<br>If the entity container is annotated, the query option is supported/required by all resources in that container.
[MediaLocationUpdateSupported](Org.OData.Capabilities.V1.xml#L993)|[Tag](Org.OData.Core.V1.md#Tag)|<a name="MediaLocationUpdateSupported"></a>Stream property supports update of its media edit URL and/or media read URL
[DefaultCapabilities](Org.OData.Capabilities.V1.xml#L998)|[DefaultCapabilitiesType](#DefaultCapabilitiesType)|<a name="DefaultCapabilities"></a>Default capability settings for all collection-valued resources in the container. Annotating a capability term for a specific collection-valued resource overrides the default setting

## <a name="ConformanceLevelType"></a>[ConformanceLevelType](Org.OData.Capabilities.V1.xml#L118)

Expand Down Expand Up @@ -495,3 +496,24 @@ Property|Type|Description
[DocumentationURL](Org.OData.Capabilities.V1.xml#L981)|URL?|URL of related documentation
[Required](Org.OData.Capabilities.V1.xml#L985)|Boolean|true: parameter is required, false or not specified: parameter is optional
[ExampleValues](Org.OData.Capabilities.V1.xml#L988)|\[[PrimitiveExampleValue](Org.OData.Core.V1.md#PrimitiveExampleValue)\]|Example values for the custom parameter

## <a name="DefaultCapabilitiesType"></a>[DefaultCapabilitiesType](Org.OData.Capabilities.V1.xml#L1001)


Property|Type|Description
:-------|:---|:----------
[ChangeTrackingSupported](Org.OData.Capabilities.V1.xml#L1002)|Boolean|`odata.track-changes` preference is supported
[IndexableByKey](Org.OData.Capabilities.V1.xml#L1005)|Boolean|Supports key values according to OData URL conventions<br>Can be overruled by annotating term `IndexableByKey` on an entity set or term `NavigationRestrictions`, property `RestrictedProperties/IndexableByKey` for a navigation property path starting at a set
[CountSupported](Org.OData.Capabilities.V1.xml#L1009)|Boolean|Entities can be counted (only valid if targeting an entity set)<br>Can be overruled by annotating term `CountRestrictions` on an entity set
[TopSupported](Org.OData.Capabilities.V1.xml#L1013)|Boolean|`$top` is supported<br>Can be overruled by annotating term `TopSupported` on an entity set or term `NavigationRestrictions`, property `RestrictedProperties/TopSupported` for a navigation property path starting at a set
[SkipSupported](Org.OData.Capabilities.V1.xml#L1017)|Boolean|`$skip` is supported<br>Can be overruled by annotating term `SkipSupported` on an entity set or term `NavigationRestrictions`, property `RestrictedProperties/SkipSupported` for a navigation property path starting at a set
[ComputeSupported](Org.OData.Capabilities.V1.xml#L1021)|Boolean|`$compute` is supported<br>Can be overruled by annotating term `ComputeSupported` on an entity set
[SelectSupported](Org.OData.Capabilities.V1.xml#L1025)|Boolean|`$select` is supported<br>Can be overruled by annotating term `SelectSupport` on an entity set or term `NavigationRestrictions`, property `RestrictedProperties/SelectSupport` for a navigation property path starting at a set
[FilterSupported](Org.OData.Capabilities.V1.xml#L1029)|Boolean|`$filter` is supported<br>Can be overruled by annotating term `FilterRestrictions` on an entity set or term `NavigationRestrictions`, property `RestrictedProperties/FilterRestrictions` for a navigation property path starting at a set
[SortSupported](Org.OData.Capabilities.V1.xml#L1033)|Boolean|`$orderby` is supported<br>Can be overruled by annotating term `SortRestrictions` on an entity set or term `NavigationRestrictions`, property `RestrictedProperties/SortRestrictions` for a navigation property path starting at a set
[ExpandSupported](Org.OData.Capabilities.V1.xml#L1037)|Boolean|`$expand` is supported<br>Can be overruled by annotating term `ExpandRestrictions` on an entity set
[SearchSupported](Org.OData.Capabilities.V1.xml#L1041)|Boolean|`$search` is supported<br>Can be overruled by annotating term `SearchRestrictions` on an entity set or term `NavigationRestrictions`, property `RestrictedProperties/SearchRestrictions` for a navigation property path starting at a set
[ReadSupported](Org.OData.Capabilities.V1.xml#L1045)|Boolean|Entities can be retrieved<br>Can be overruled by annotating term `ReadRestrictions` on an entity set or term `NavigationRestrictions`, property `RestrictedProperties/ReadRestrictions` for a navigation property path starting at a set
[InsertSupported](Org.OData.Capabilities.V1.xml#L1049)|Boolean|Entities can be inserted<br>Can be overruled by annotating term `InsertRestrictions` on an entity set or term `NavigationRestrictions`, property `RestrictedProperties/InsertRestrictions` for a navigation property path starting at a set
[UpdateSupported](Org.OData.Capabilities.V1.xml#L1053)|Boolean|Entities can be updated<br>Can be overruled by annotating term `UpdateRestrictions` on an entity set or term `NavigationRestrictions`, property `RestrictedProperties/UpdateRestrictions` for a navigation property path starting at a set
[DeleteSupported](Org.OData.Capabilities.V1.xml#L1057)|Boolean|Entities can be deleted<br>Can be overruled by annotating term `DeleteRestrictions` on an entity set or term `NavigationRestrictions`, property `RestrictedProperties/DeleteRestrictions` for a navigation property path starting at a set
66 changes: 66 additions & 0 deletions vocabularies/Org.OData.Capabilities.V1.xml
Original file line number Diff line number Diff line change
Expand Up @@ -995,6 +995,72 @@ The absence of `RestrictedProperties` denotes all properties are accessible usin
<Annotation Term="Core.Description" String="Stream property supports update of its media edit URL and/or media read URL" />
</Term>

<Term Name="DefaultCapabilities" Type="Capabilities.DefaultCapabilitiesType" Nullable="false" AppliesTo="EntityContainer">
HeikoTheissen marked this conversation as resolved.
Show resolved Hide resolved
<Annotation Term="Core.Description" String="Default capability settings for all collection-valued resources in the container. Annotating a capability term for a specific collection-valued resource overrides the default setting" />
</Term>
<ComplexType Name="DefaultCapabilitiesType">
<Property Name="ChangeTrackingSupported" Type="Edm.Boolean" Nullable="false" DefaultValue="true">
HeikoTheissen marked this conversation as resolved.
Show resolved Hide resolved
<Annotation Term="Core.Description" String="`odata.track-changes` preference is supported" />
</Property>
<Property Name="IndexableByKey" Type="Edm.Boolean" Nullable="false" DefaultValue="false">
<Annotation Term="Core.Description" String="Supports key values according to OData URL conventions" />
<Annotation Term="Core.LongDescription" String="Can be overruled by annotating term `IndexableByKey` on an entity set or term `NavigationRestrictions`, property `RestrictedProperties/IndexableByKey` for a navigation property path starting at a set" />
</Property>
<Property Name="CountSupported" Type="Edm.Boolean" Nullable="false" DefaultValue="false">
<Annotation Term="Core.Description" String="Entities can be counted (only valid if targeting an entity set)" />
<Annotation Term="Core.LongDescription" String="Can be overruled by annotating term `CountRestrictions` on an entity set" />
</Property>
<Property Name="TopSupported" Type="Edm.Boolean" Nullable="false" DefaultValue="false">
<Annotation Term="Core.Description" String="`$top` is supported" />
<Annotation Term="Core.LongDescription" String="Can be overruled by annotating term `TopSupported` on an entity set or term `NavigationRestrictions`, property `RestrictedProperties/TopSupported` for a navigation property path starting at a set" />
HeikoTheissen marked this conversation as resolved.
Show resolved Hide resolved
</Property>
<Property Name="SkipSupported" Type="Edm.Boolean" Nullable="false" DefaultValue="false">
<Annotation Term="Core.Description" String="`$skip` is supported" />
<Annotation Term="Core.LongDescription" String="Can be overruled by annotating term `SkipSupported` on an entity set or term `NavigationRestrictions`, property `RestrictedProperties/SkipSupported` for a navigation property path starting at a set" />
</Property>
<Property Name="ComputeSupported" Type="Edm.Boolean" Nullable="false" DefaultValue="false">
<Annotation Term="Core.Description" String="`$compute` is supported" />
<Annotation Term="Core.LongDescription" String="Can be overruled by annotating term `ComputeSupported` on an entity set" />
</Property>
<Property Name="SelectSupported" Type="Edm.Boolean" Nullable="false" DefaultValue="false">
<Annotation Term="Core.Description" String="`$select` is supported" />
<Annotation Term="Core.LongDescription" String="Can be overruled by annotating term `SelectSupport` on an entity set or term `NavigationRestrictions`, property `RestrictedProperties/SelectSupport` for a navigation property path starting at a set" />
</Property>
<Property Name="FilterSupported" Type="Edm.Boolean" Nullable="false" DefaultValue="false">
<Annotation Term="Core.Description" String="`$filter` is supported" />
<Annotation Term="Core.LongDescription" String="Can be overruled by annotating term `FilterRestrictions` on an entity set or term `NavigationRestrictions`, property `RestrictedProperties/FilterRestrictions` for a navigation property path starting at a set" />
</Property>
<Property Name="SortSupported" Type="Edm.Boolean" Nullable="false" DefaultValue="false">
<Annotation Term="Core.Description" String="`$orderby` is supported" />
<Annotation Term="Core.LongDescription" String="Can be overruled by annotating term `SortRestrictions` on an entity set or term `NavigationRestrictions`, property `RestrictedProperties/SortRestrictions` for a navigation property path starting at a set" />
</Property>
<Property Name="ExpandSupported" Type="Edm.Boolean" Nullable="false" DefaultValue="false">
<Annotation Term="Core.Description" String="`$expand` is supported" />
<Annotation Term="Core.LongDescription" String="Can be overruled by annotating term `ExpandRestrictions` on an entity set" />
</Property>
<Property Name="SearchSupported" Type="Edm.Boolean" Nullable="false" DefaultValue="false">
<Annotation Term="Core.Description" String="`$search` is supported" />
<Annotation Term="Core.LongDescription" String="Can be overruled by annotating term `SearchRestrictions` on an entity set or term `NavigationRestrictions`, property `RestrictedProperties/SearchRestrictions` for a navigation property path starting at a set" />
</Property>
<Property Name="ReadSupported" Type="Edm.Boolean" Nullable="false" DefaultValue="false">
<Annotation Term="Core.Description" String="Entities can be retrieved" />
<Annotation Term="Core.LongDescription" String="Can be overruled by annotating term `ReadRestrictions` on an entity set or term `NavigationRestrictions`, property `RestrictedProperties/ReadRestrictions` for a navigation property path starting at a set" />
</Property>
<Property Name="InsertSupported" Type="Edm.Boolean" Nullable="false" DefaultValue="false">
<Annotation Term="Core.Description" String="Entities can be inserted" />
<Annotation Term="Core.LongDescription" String="Can be overruled by annotating term `InsertRestrictions` on an entity set or term `NavigationRestrictions`, property `RestrictedProperties/InsertRestrictions` for a navigation property path starting at a set" />
</Property>
<Property Name="UpdateSupported" Type="Edm.Boolean" Nullable="false" DefaultValue="false">
<Annotation Term="Core.Description" String="Entities can be updated" />
<Annotation Term="Core.LongDescription" String="Can be overruled by annotating term `UpdateRestrictions` on an entity set or term `NavigationRestrictions`, property `RestrictedProperties/UpdateRestrictions` for a navigation property path starting at a set" />
</Property>
<Property Name="DeleteSupported" Type="Edm.Boolean" Nullable="false" DefaultValue="false">
<Annotation Term="Core.Description" String="Entities can be deleted" />
<Annotation Term="Core.LongDescription" String="Can be overruled by annotating term `DeleteRestrictions` on an entity set or term `NavigationRestrictions`, property `RestrictedProperties/DeleteRestrictions` for a navigation property path starting at a set" />
</Property>
</ComplexType>


</Schema>
</edmx:DataServices>
</edmx:Edmx>