diff --git a/common/src/main/java/com/netflix/conductor/common/metadata/workflow/WorkflowTask.java b/common/src/main/java/com/netflix/conductor/common/metadata/workflow/WorkflowTask.java index 88e71e3c75..e3d18a7c0d 100644 --- a/common/src/main/java/com/netflix/conductor/common/metadata/workflow/WorkflowTask.java +++ b/common/src/main/java/com/netflix/conductor/common/metadata/workflow/WorkflowTask.java @@ -144,6 +144,10 @@ public void setTasks(List tasks) { @ProtoField(id = 28) private String expression; + + @ProtoField(id = 29) + private String joinStatus; + /* Map of events to be emitted when the task status changed. key can be comma separated values of the status changes prefixed with "on" @@ -545,6 +549,14 @@ public void setExpression(String expression) { this.expression = expression; } + public String getJoinStatus() { + return joinStatus; + } + + public void setJoinStatus(String joinStatus) { + this.joinStatus = joinStatus; + } + private Collection> children() { Collection> workflowTaskLists = new LinkedList<>(); @@ -737,6 +749,7 @@ && isOptional() == that.isOptional() && Objects.equals(getForkTasks(), that.getForkTasks()) && Objects.equals(getSubWorkflowParam(), that.getSubWorkflowParam()) && Objects.equals(getJoinOn(), that.getJoinOn()) + && Objects.equals(getJoinStatus(), that.getJoinStatus()) && Objects.equals(getSink(), that.getSink()) && Objects.equals(isAsyncComplete(), that.isAsyncComplete()) && Objects.equals(getDefaultExclusiveJoinTask(), that.getDefaultExclusiveJoinTask()) @@ -767,6 +780,7 @@ public int hashCode() { getStartDelay(), getSubWorkflowParam(), getJoinOn(), + getJoinStatus(), getSink(), isAsyncComplete(), isOptional(), diff --git a/grpc/src/main/java/com/netflix/conductor/grpc/AbstractProtoMapper.java b/grpc/src/main/java/com/netflix/conductor/grpc/AbstractProtoMapper.java index 1a9c9878e6..efcfe8a9af 100644 --- a/grpc/src/main/java/com/netflix/conductor/grpc/AbstractProtoMapper.java +++ b/grpc/src/main/java/com/netflix/conductor/grpc/AbstractProtoMapper.java @@ -1393,6 +1393,9 @@ public WorkflowTaskPb.WorkflowTask toProto(WorkflowTask from) { if (from.getExpression() != null) { to.setExpression( from.getExpression() ); } + if (from.getJoinStatus() != null) { + to.setJoinStatus( from.getJoinStatus() ); + } return to.build(); } @@ -1438,6 +1441,7 @@ public WorkflowTask fromProto(WorkflowTaskPb.WorkflowTask from) { to.setRetryCount( from.getRetryCount() ); to.setEvaluatorType( from.getEvaluatorType() ); to.setExpression( from.getExpression() ); + to.setJoinStatus( from.getJoinStatus() ); return to; } diff --git a/grpc/src/main/proto/model/workflowtask.proto b/grpc/src/main/proto/model/workflowtask.proto index 8855a714fd..a180614a32 100644 --- a/grpc/src/main/proto/model/workflowtask.proto +++ b/grpc/src/main/proto/model/workflowtask.proto @@ -41,4 +41,5 @@ message WorkflowTask { int32 retry_count = 26; string evaluator_type = 27; string expression = 28; + string join_status = 29; }