Skip to content

Commit ff9bd67

Browse files
committed
adding spec version and version to subflowref
Signed-off-by: Tihomir Surdilovic <tihomir@temporal.io>
1 parent a07c08c commit ff9bd67

File tree

130 files changed

+147
-6
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

130 files changed

+147
-6
lines changed

api/src/main/java/io/serverlessworkflow/api/deserializers/SubFlowRefDeserializer.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,10 @@ public SubFlowRef deserialize(JsonParser jp,
6767
subflowRef.setWorkflowId(node.get("workflowId").asText());
6868
}
6969

70+
if (node.get("version") != null) {
71+
subflowRef.setVersion(node.get("version").asText());
72+
}
73+
7074
return subflowRef;
7175
}
7276
}

api/src/main/java/io/serverlessworkflow/api/serializers/SubFlowRefSerializer.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,8 @@ public void serialize(SubFlowRef subflowRef,
3939

4040
if (subflowRef != null) {
4141
if ((subflowRef.getWorkflowId() == null || subflowRef.getWorkflowId().isEmpty())
42-
&& subflowRef.isWaitForCompletion()) {
42+
&& subflowRef.isWaitForCompletion()
43+
&& (subflowRef.getVersion() == null || subflowRef.getVersion().isEmpty())) {
4344
gen.writeString(subflowRef.getWorkflowId());
4445
} else {
4546
gen.writeStartObject();
@@ -52,6 +53,10 @@ public void serialize(SubFlowRef subflowRef,
5253
gen.writeBooleanField("waitForCompletion", false);
5354
}
5455

56+
if (subflowRef.getVersion() != null && subflowRef.getVersion().length() > 0) {
57+
gen.writeStringField("version", subflowRef.getVersion());
58+
}
59+
5560
gen.writeEndObject();
5661
}
5762
}

api/src/main/java/io/serverlessworkflow/api/serializers/WorkflowSerializer.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,9 +87,9 @@ public void serialize(Workflow workflow,
8787
gen.writeObjectField("start", workflow.getStart());
8888
}
8989

90-
if (workflow.getSchemaVersion() != null && !workflow.getSchemaVersion().isEmpty()) {
91-
gen.writeStringField("schemaVersion",
92-
workflow.getSchemaVersion());
90+
if (workflow.getSpecVersion() != null && !workflow.getSpecVersion().isEmpty()) {
91+
gen.writeStringField("specVersion",
92+
workflow.getSpecVersion());
9393
}
9494

9595
if (workflow.getExtensions() != null && !workflow.getExpressionLang().isEmpty()) {

api/src/main/resources/schema/functions/subflowref.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,11 @@
1010
"workflowId": {
1111
"type": "string",
1212
"description": "Unique id of the sub-workflow to be invoked"
13+
},
14+
"version": {
15+
"type": "string",
16+
"description": "Version of the sub-workflow to be invoked",
17+
"minLength": 1
1318
}
1419
},
1520
"required": [

api/src/main/resources/schema/workflow.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
"$ref": "start/start.json",
3636
"description": "Defines workflow start"
3737
},
38-
"schemaVersion": {
38+
"specVersion": {
3939
"type": "string",
4040
"description": "Serverless Workflow schema version"
4141
},

api/src/test/java/io/serverlessworkflow/api/test/MarkupToWorkflowTest.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -499,6 +499,7 @@ public void testSubFlowRef(String workflowLocation) {
499499
SubFlowRef secondSubflowRef = secondAction.getSubFlowRef();
500500
assertEquals("subflowrefworkflowid", secondSubflowRef.getWorkflowId());
501501
assertFalse(secondSubflowRef.isWaitForCompletion());
502+
assertEquals("1.0", secondSubflowRef.getVersion());
502503

503504
}
504505
}

api/src/test/resources/examples/applicantrequest.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
{
22
"id": "applicantrequest",
33
"version": "1.0",
4+
"specVersion": "0.7",
45
"name": "Applicant Request Decision Workflow",
56
"description": "Determine if applicant request is valid",
67
"start": "CheckApplication",

api/src/test/resources/examples/applicantrequest.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
id: applicantrequest
22
version: '1.0'
3+
specVersion: '0.7'
34
name: Applicant Request Decision Workflow
45
description: Determine if applicant request is valid
56
start: CheckApplication

api/src/test/resources/examples/booklending.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
"id": "booklending",
33
"name": "Book Lending Workflow",
44
"version": "1.0",
5+
"specVersion": "0.7",
56
"start": "Book Lending Request",
67
"states": [
78
{

api/src/test/resources/examples/booklending.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
id: booklending
22
name: Book Lending Workflow
33
version: '1.0'
4+
specVersion: '0.7'
45
start: Book Lending Request
56
states:
67
- name: Book Lending Request

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy