Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/main' into Common.Recommendations2
Browse files Browse the repository at this point in the history
  • Loading branch information
HeikoTheissen committed Jan 24, 2024
2 parents 2091d58 + 4e50dfc commit d8f3983
Show file tree
Hide file tree
Showing 14 changed files with 1,377 additions and 678 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/nodejs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ jobs:

strategy:
matrix:
node-version: [18.x, 20.x]
node-version: [20.x]

steps:
- uses: actions/checkout@v3
Expand Down
2 changes: 1 addition & 1 deletion package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

22 changes: 19 additions & 3 deletions vocabularies/Common.json
Original file line number Diff line number Diff line change
Expand Up @@ -308,7 +308,7 @@
"@Core.LongDescription": "When changes are requested, the value of this annotation in the before-image or after-image\n of the request plays a role. These may differ if the value is given dynamically in the metadata.",
"Mandatory": 7,
"[email protected]": "Property is mandatory from a business perspective",
"[email protected]": "A request that sets the property to its initial value or null fails entirely if this annotation is `Mandatory` in the after-image of the request.\n\n This annotation value does not imply any restrictions on the value range of the property. For restricting the value range use e.g. the standard type facet `Nullable` with a value of `false` to exclude the `null` value, or terms from the [Validation vocabulary](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Validation.V1.md).",
"[email protected]": "A request that\n <br>- sets the property to null or an empty value or\n <br>- creates a non-[draft](#DraftRoot) entity and omits the property or\n <br>- activates a draft entity while the property is null or empty\n <br>fails entirely if this annotation is `Mandatory` in the after-image of the request.\n The empty string is an empty value. Service-specific rules may consider other values, also\n of non-string type, empty.\n Values in draft entities are never considered empty.\n Mandatory properties SHOULD be decorated in the UI with an asterisk.\n Null or empty values can also be disallowed by restricting the property value range with the standard type facet `Nullable` or terms from the [Validation vocabulary](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Validation.V1.md).",
"Optional": 3,
"[email protected]": "Property may have a value",
"[email protected]": "This value does not make sense as a static annotation value.",
Expand Down Expand Up @@ -451,6 +451,12 @@
},
"IntervalType": {
"$Kind": "ComplexType",
"Label": {
"$Nullable": true,
"@Common.Experimental": true,
"@Core.Description": "A short, human-readable text suitable for labels and captions in UIs",
"@Core.IsLanguageDependent": true
},
"LowerBoundary": {
"$Type": "Edm.PropertyPath",
"@Core.Description": "Property holding the lower interval boundary"
Expand Down Expand Up @@ -591,12 +597,22 @@
"$Type": "Core.Tag",
"$DefaultValue": true,
"$AppliesTo": ["Property", "Parameter"],
"@Core.Description": "If specified as true, there's only one value list mapping and its value list consists of a small number of fixed values"
"@Core.Description": "If specified as true, there's only one value list mapping and its value list consists of a small number of fixed values",
"@Validation.ApplicableTerms": ["Common.ValueListShowValuesImmediately"]
},
"ValueListShowValuesImmediately": {
"$Kind": "Term",
"$Type": "Core.Tag",
"$DefaultValue": true,
"$AppliesTo": ["Annotation"],
"@Common.Experimental": true,
"@Core.Description": "A value list with a very small number of fixed values, can decide to show all values immediately"
},
"ValueListForValidation": {
"$Kind": "Term",
"$AppliesTo": ["Property", "Parameter"],
"@Core.Description": "Contains the qualifier of the ValueList or ValueListMapping that should be used for validation"
"@Core.Description": "Contains the qualifier of the ValueList or ValueListMapping that should be used for validation",
"@Core.LongDescription": "An empty string identifies the ValueList or ValueListMapping without a qualifier."
},
"ValueListReferences": {
"$Kind": "Term",
Expand Down
336 changes: 169 additions & 167 deletions vocabularies/Common.md

Large diffs are not rendered by default.

29 changes: 26 additions & 3 deletions vocabularies/Common.xml
Original file line number Diff line number Diff line change
Expand Up @@ -387,9 +387,16 @@
<Member Name="Mandatory" Value="7">
<Annotation Term="Core.Description" String="Property is mandatory from a business perspective" />
<Annotation Term="Core.LongDescription">
<String>A request that sets the property to its initial value or null fails entirely if this annotation is `Mandatory` in the after-image of the request.

This annotation value does not imply any restrictions on the value range of the property. For restricting the value range use e.g. the standard type facet `Nullable` with a value of `false` to exclude the `null` value, or terms from the [Validation vocabulary](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Validation.V1.md).</String>
<String>A request that
&lt;br&gt;- sets the property to null or an empty value or
&lt;br&gt;- creates a non-[draft](#DraftRoot) entity and omits the property or
&lt;br&gt;- activates a draft entity while the property is null or empty
&lt;br&gt;fails entirely if this annotation is `Mandatory` in the after-image of the request.
The empty string is an empty value. Service-specific rules may consider other values, also
of non-string type, empty.
Values in draft entities are never considered empty.
Mandatory properties SHOULD be decorated in the UI with an asterisk.
Null or empty values can also be disallowed by restricting the property value range with the standard type facet `Nullable` or terms from the [Validation vocabulary](https://github.com/oasis-tcs/odata-vocabularies/blob/main/vocabularies/Org.OData.Validation.V1.md).</String>
</Annotation>
</Member>
<Member Name="Optional" Value="3">
Expand Down Expand Up @@ -560,6 +567,11 @@ The minimum structure is
<Annotation Term="Core.Description" String="An interval with lower and upper boundaries described by two properties" />
</Term>
<ComplexType Name="IntervalType">
<Property Name="Label" Type="Edm.String" Nullable="true">
<Annotation Term="Common.Experimental" />
<Annotation Term="Core.Description" String="A short, human-readable text suitable for labels and captions in UIs" />
<Annotation Term="Core.IsLanguageDependent" />
</Property>
<Property Name="LowerBoundary" Type="Edm.PropertyPath" Nullable="false">
<Annotation Term="Core.Description" String="Property holding the lower interval boundary" />
</Property>
Expand Down Expand Up @@ -702,10 +714,21 @@ The minimum structure is

<Term Name="ValueListWithFixedValues" Type="Core.Tag" Nullable="false" DefaultValue="true" AppliesTo="Property Parameter">
<Annotation Term="Core.Description" String="If specified as true, there's only one value list mapping and its value list consists of a small number of fixed values" />
<Annotation Term="Validation.ApplicableTerms">
<Collection>
<String>Common.ValueListShowValuesImmediately</String>
</Collection>
</Annotation>
</Term>

<Term Name="ValueListShowValuesImmediately" Type="Core.Tag" Nullable="false" DefaultValue="true" AppliesTo="Annotation">
<Annotation Term="Common.Experimental" />
<Annotation Term="Core.Description" String="A value list with a very small number of fixed values, can decide to show all values immediately" />
</Term>

<Term Name="ValueListForValidation" Type="Edm.String" Nullable="false" AppliesTo="Property Parameter">
<Annotation Term="Core.Description" String="Contains the qualifier of the ValueList or ValueListMapping that should be used for validation" />
<Annotation Term="Core.LongDescription" String="An empty string identifies the ValueList or ValueListMapping without a qualifier." />
</Term>

<Term Name="ValueListReferences" Type="Collection(Edm.String)" Nullable="false" AppliesTo="Property Parameter">
Expand Down
Loading

0 comments on commit d8f3983

Please sign in to comment.