From f764e4fed4525fb996ce60b26454abb61aef534b Mon Sep 17 00:00:00 2001 From: Panagiotis Vretanos Date: Mon, 11 Dec 2023 01:44:43 -0500 Subject: [PATCH 1/2] Allow value passing to be specified per input rather than requiring the server to support both by-value and by-refernce in all cases. --- .../core/REQ_process-execute-inputs.adoc | 14 ++++++++++++-- .../schemas/processes-core/inputDescription.yaml | 10 ++++++++++ 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/core/requirements/core/REQ_process-execute-inputs.adoc b/core/requirements/core/REQ_process-execute-inputs.adoc index e4791c7f..4d724d02 100644 --- a/core/requirements/core/REQ_process-execute-inputs.adoc +++ b/core/requirements/core/REQ_process-execute-inputs.adoc @@ -5,12 +5,22 @@ identifier:: /req/core/process-execute-inputs [.component,class=part] -- -The server SHALL support process input values specified in-line in an execute request (i.e. by value). +How process input values can be specified in an execute request (by-value, by-reference or both) SHALL be controlled by the https://raw.githubusercontent.com/opengeospatial/ogcapi-processes/master/openapi/schemas/processes-core/inputDescription.yaml[`valuePassing`] parameter that may be specified per input in the <>. +-- + +[.component,class=part] +-- +The default value of the https://raw.githubusercontent.com/opengeospatial/ogcapi-processes/master/openapi/schemas/processes-core/inputDescription.yaml[`valuePassing`] parameter shall be `["byValue","byReference"]`. +-- + +[.component,class=part] +-- +If an input value can be passed by value (https://raw.githubusercontent.com/opengeospatial/ogcapi-processes/master/openapi/schemas/processes-core/inputDescription.yaml[`"byValue"`]), process input values SHALL be specified in-line in an execute request. -- [[input_by_reference]] [.component,class=part] -- -The server SHALL support process input values specified by reference (i.e. using a https://raw.githubusercontent.com/opengeospatial/ogcapi-processes/master/openapi/schemas/common-core/link.yaml[link]). +If an input value can be passed by reference (https://raw.githubusercontent.com/opengeospatial/ogcapi-processes/master/openapi/schemas/processes-core/inputDescription.yaml[`"byReference"`]), then input values shall be referenced in an execute request using a https://raw.githubusercontent.com/opengeospatial/ogcapi-processes/master/openapi/schemas/common-core/link.yaml[link]. -- ==== diff --git a/openapi/schemas/processes-core/inputDescription.yaml b/openapi/schemas/processes-core/inputDescription.yaml index a583b789..c3668ee0 100644 --- a/openapi/schemas/processes-core/inputDescription.yaml +++ b/openapi/schemas/processes-core/inputDescription.yaml @@ -4,6 +4,16 @@ allOf: required: - schema properties: + valuePassing: + type: array + minItems: 1 + maxItems: 2 + items: + type: string + enum: + - "byValue" + - "byReference" + default: ["byValue","byReference"] minOccurs: type: integer default: 1 From c22bb7191cdcb51078789bb8710cc384048ef184 Mon Sep 17 00:00:00 2001 From: Panagiotis Vretanos Date: Mon, 4 Mar 2024 00:08:30 -0500 Subject: [PATCH 2/2] Remove minItems/maxItems constraints on the array. --- openapi/schemas/processes-core/inputDescription.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/openapi/schemas/processes-core/inputDescription.yaml b/openapi/schemas/processes-core/inputDescription.yaml index c3668ee0..0539f86d 100644 --- a/openapi/schemas/processes-core/inputDescription.yaml +++ b/openapi/schemas/processes-core/inputDescription.yaml @@ -6,8 +6,6 @@ allOf: properties: valuePassing: type: array - minItems: 1 - maxItems: 2 items: type: string enum: