Skip to content

Commit

Permalink
Back out changed to conformance
Browse files Browse the repository at this point in the history
  • Loading branch information
ralfhandl committed Dec 7, 2023
1 parent 59745b5 commit 8af3f46
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 24 deletions.
13 changes: 4 additions & 9 deletions docs/odata-protocol/odata-protocol.html
Original file line number Diff line number Diff line change
Expand Up @@ -497,11 +497,6 @@ <h2 id="11-changes-from-earlier-versions"><a name="ChangesfromEarlierVersions" h
<td>Response code <code>204 No Content</code> after successful data modification if requested response could not be constructed</td>
<td><a href="https://issues.oasis-open.org/browse/ODATA-1609">ODATA-1609</a></td>
</tr>
<tr class="even">
<td><a href="#Conformance">Section 12</a></td>
<td>Allow <code>400 Bad Request</code> for unrecognized (“future”) functionality in addition to <code>501 Not Implemented</code> for unsupported functionality</td>
<td><a href="https://issues.oasis-open.org/browse/ODATA-1618">ODATA-1618</a></td>
</tr>
</tbody>
</table>
<h2 id="12-glossary"><a name="Glossary" href="#Glossary">1.2 Glossary</a></h2>
Expand Down Expand Up @@ -2620,7 +2615,7 @@ <h3 id="1211-odata-40-minimal-conformance-level"><a name="OData40MinimalConforma
<li><code>OData-MaxVersion</code> (<a href="#HeaderODataMaxVersion">section 8.2.7</a>)</li>
</ol></li>
<li>MUST follow OData guidelines for extensibility (<a href="#Extensibility">section 6</a> and all subsections)</li>
<li>MUST successfully parse the request according to <a href="#ODataABNF">OData-ABNF</a> for any supported system query options and either follow the specification or fail the request, in which case it SHOULD return <code>501 Not Implemented</code> for any recognized unsupported functionality (<a href="#ResponseCode501NotImplemented">section 9.3.1</a>)</li>
<li>MUST successfully parse the request according to <a href="#ODataABNF">OData-ABNF</a> for any supported system query options and either follow the specification or return <code>501 Not Implemented</code> for any unsupported functionality (<a href="#ResponseCode501NotImplemented">section 9.3.1</a>)</li>
<li>MUST expose only data types defined in <a href="#ODataCSDL">OData-CSDLXML</a></li>
<li>MUST NOT require clients to understand any metadata or instance annotations (<a href="#VocabularyExtensibility">section 6.4</a>), custom headers (<a href="#HeaderFieldExtensibility">section 6.5</a>), or custom content (<a href="#PayloadExtensibility">section 6.2</a>) in the payload in order to correctly consume the service</li>
<li>MUST NOT violate any OData update semantics (<a href="#DataModification">section 11.4</a> and all subsections)</li>
Expand Down Expand Up @@ -2658,7 +2653,7 @@ <h3 id="1212-odata-40-intermediate-conformance-level"><a name="OData40Intermedia
<p>In order to conform to the OData Intermediate Conformance Level, a service:</p>
<ol type="1">
<li>MUST conform to the <a href="#OData40MinimalConformanceLevel">OData 4.0 Minimal Conformance Level</a></li>
<li>MUST successfully parse the request according to <a href="#ODataABNF">OData-ABNF</a> and either follow the specification or fail the request, in which case it SHOULD return <code>501 Not Implemented</code> for any recognized unsupported functionality (<a href="#ResponseCode501NotImplemented">section 9.3.1</a>)</li>
<li>MUST successfully parse the <a href="#ODataABNF">OData-ABNF</a> and either follow the specification or return <code>501 Not Implemented</code> for any unsupported functionality (<a href="#ResponseCode501NotImplemented">section 9.3.1</a>)</li>
<li>MUST support <code>$select</code> (<a href="#SystemQueryOptionselect">section 11.2.5.1</a>)</li>
<li>MUST support casting to a derived type according to <a href="#ODataURL">OData-URL</a> if derived types are present in the model</li>
<li>MUST support <code>$top</code> (<a href="#SystemQueryOptiontop">section 11.2.6.3</a>)</li>
Expand All @@ -2667,8 +2662,8 @@ <h3 id="1212-odata-40-intermediate-conformance-level"><a name="OData40Intermedia
<ol type="1">
<li>MUST support <code>eq</code>, <code>ne</code> filter operations on properties of entities in the requested entity set (<a href="#BuiltinFilterOperations">section 11.2.6.1.1</a>)</li>
<li>MUST support aliases in <code>$filter</code> expressions (<a href="#ParameterAliases">section 11.2.6.1.3</a>)</li>
<li>SHOULD support additional filter operations (<a href="#BuiltinFilterOperations">section 11.2.6.1.1</a>) and MUST return <code>501 Not Implemented</code> for any unsupported or <code>400 Bad Request</code> for any unrecognized filter operations (<a href="#ResponseCode501NotImplemented">section 9.3.1</a>)</li>
<li>SHOULD support the canonical functions (<a href="#BuiltinQueryFunctions">section 11.2.6.1.2</a>) and MUST return <code>501 Not Implemented</code> for any unsupported or <code>400 Bad Request</code> for any unrecognized functions (<a href="#ResponseCode501NotImplemented">section 9.3.1</a>)</li>
<li>SHOULD support additional filter operations (<a href="#BuiltinFilterOperations">section 11.2.6.1.1</a>) and MUST return <code>501 Not Implemented</code> for any unsupported filter operations (<a href="#ResponseCode501NotImplemented">section 9.3.1</a>)</li>
<li>SHOULD support the canonical functions (<a href="#BuiltinQueryFunctions">section 11.2.6.1.2</a>) and MUST return <code>501 Not Implemented</code> for any unsupported canonical functions (<a href="#ResponseCode501NotImplemented">section 9.3.1</a>)</li>
<li>SHOULD support <code>$filter</code> on expanded entities (<a href="#ExpandOptions">section 11.2.5.2.1</a>)</li>
</ol></li>
<li>SHOULD publish metadata at <code>$metadata</code> according to <a href="#ODataCSDL">OData-CSDLXML</a> (<a href="#MetadataDocumentRequest">section 11.1.2</a>)</li>
Expand Down
15 changes: 7 additions & 8 deletions docs/odata-protocol/odata-protocol.md
Original file line number Diff line number Diff line change
Expand Up @@ -347,7 +347,6 @@ resource representations that are exchanged using OData.
Section | Feature / Change | Issue
--------|------------------|------
[Section 11.4](#DataModification)| Response code `204 No Content` after successful data modification if requested response could not be constructed| [ODATA-1609](https://issues.oasis-open.org/browse/ODATA-1609)
[Section 12](#Conformance)| Allow `400 Bad Request` for unrecognized ("future") functionality in addition to `501 Not Implemented` for unsupported functionality| [ODATA-1618](https://issues.oasis-open.org/browse/ODATA-1618)

## <a name="Glossary" href="#Glossary">1.2 Glossary</a>

Expand Down Expand Up @@ -6359,8 +6358,8 @@ request
([section 6](#Extensibility) and all subsections)
7. MUST successfully parse the request according to
[OData-ABNF](#ODataABNF) for any supported system query options and
either follow the specification or fail the request, in which case it SHOULD return
`501 Not Implemented` for any recognized
either follow the specification or return
`501 Not Implemented` for any
unsupported functionality ([section 9.3.1](#ResponseCode501NotImplemented))
8. MUST expose only data types defined in [OData-CSDLXML](#ODataCSDL)
9. MUST NOT require clients to understand any metadata or instance
Expand Down Expand Up @@ -6427,9 +6426,9 @@ service:

1. MUST conform to the [OData 4.0 Minimal Conformance
Level](#OData40MinimalConformanceLevel)
2. MUST successfully parse the request according to [OData-ABNF](#ODataABNF) and either
follow the specification or fail the request, in which case it SHOULD return `501 Not Implemented` for any
recognized unsupported functionality ([section 9.3.1](#ResponseCode501NotImplemented))
2. MUST successfully parse the [OData-ABNF](#ODataABNF) and either
follow the specification or return `501 Not Implemented` for any
unsupported functionality ([section 9.3.1](#ResponseCode501NotImplemented))
3. MUST support `$select` ([section 11.2.5.1](#SystemQueryOptionselect))
4. MUST support casting to a derived type according to
[OData-URL](#ODataURL) if derived types are present in the model
Expand All @@ -6440,10 +6439,10 @@ recognized unsupported functionality ([section 9.3.1](#ResponseCode501NotImpleme
in the requested entity set ([section 11.2.6.1.1](#BuiltinFilterOperations))
2. MUST support aliases in `$filter` expressions ([section 11.2.6.1.3](#ParameterAliases))
3. SHOULD support additional filter operations ([section 11.2.6.1.1](#BuiltinFilterOperations))
and MUST return `501 Not Implemented` for any unsupported or `400 Bad Request` for any unrecognized filter
and MUST return `501 Not Implemented` for any unsupported filter
operations ([section 9.3.1](#ResponseCode501NotImplemented))
4. SHOULD support the canonical functions ([section 11.2.6.1.2](#BuiltinQueryFunctions)) and
MUST return `501 Not Implemented` for any unsupported or `400 Bad Request` for any unrecognized
MUST return `501 Not Implemented` for any unsupported canonical
functions ([section 9.3.1](#ResponseCode501NotImplemented))
5. SHOULD support `$filter` on expanded entities ([section 11.2.5.2.1](#ExpandOptions))
8. SHOULD publish metadata at `$metadata` according to
Expand Down
14 changes: 7 additions & 7 deletions odata-protocol/12 Conformance.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,8 +59,8 @@ request
([section ##Extensibility] and all subsections)
7. MUST successfully parse the request according to
[OData-ABNF](#ODataABNF) for any supported system query options and
either follow the specification or fail the request, in which case it SHOULD return
`501 Not Implemented` for any recognized
either follow the specification or return
`501 Not Implemented` for any
unsupported functionality ([section ##ResponseCode501NotImplemented])
8. MUST expose only data types defined in [OData-CSDLXML](#ODataCSDL)
9. MUST NOT require clients to understand any metadata or instance
Expand Down Expand Up @@ -127,9 +127,9 @@ service:

1. MUST conform to the [OData 4.0 Minimal Conformance
Level](#OData40MinimalConformanceLevel)
2. MUST successfully parse the request according to [OData-ABNF](#ODataABNF) and either
follow the specification or fail the request, in which case it SHOULD return `501 Not Implemented` for any
recognized unsupported functionality ([section ##ResponseCode501NotImplemented])
2. MUST successfully parse the [OData-ABNF](#ODataABNF) and either
follow the specification or return `501 Not Implemented` for any
unsupported functionality ([section ##ResponseCode501NotImplemented])
3. MUST support `$select` ([section ##SystemQueryOptionselect])
4. MUST support casting to a derived type according to
[OData-URL](#ODataURL) if derived types are present in the model
Expand All @@ -140,10 +140,10 @@ recognized unsupported functionality ([section ##ResponseCode501NotImplemented])
in the requested entity set ([section ##BuiltinFilterOperations])
2. MUST support aliases in `$filter` expressions ([section ##ParameterAliases])
3. SHOULD support additional filter operations ([section ##BuiltinFilterOperations])
and MUST return `501 Not Implemented` for any unsupported or `400 Bad Request` for any unrecognized filter
and MUST return `501 Not Implemented` for any unsupported filter
operations ([section ##ResponseCode501NotImplemented])
4. SHOULD support the canonical functions ([section ##BuiltinQueryFunctions]) and
MUST return `501 Not Implemented` for any unsupported or `400 Bad Request` for any unrecognized
MUST return `501 Not Implemented` for any unsupported canonical
functions ([section ##ResponseCode501NotImplemented])
5. SHOULD support `$filter` on expanded entities ([section ##ExpandOptions])
8. SHOULD publish metadata at `$metadata` according to
Expand Down

0 comments on commit 8af3f46

Please sign in to comment.