diff --git a/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/EventType.java b/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/EventType.java new file mode 100644 index 000000000..9d9d4028c --- /dev/null +++ b/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/EventType.java @@ -0,0 +1,46 @@ +/* + * Copyright 2020-Present The Serverless Workflow Specification Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.serverlessworkflow.impl.lifecycle; + +import io.serverlessworkflow.impl.LifecycleEvents; + +public enum EventType { + TASK_STARTED(LifecycleEvents.TASK_STARTED), + TASK_COMPLETED(LifecycleEvents.TASK_COMPLETED), + TASK_SUSPENDED(LifecycleEvents.TASK_SUSPENDED), + TASK_RESUMED(LifecycleEvents.TASK_RESUMED), + TASK_FAULTED(LifecycleEvents.TASK_FAULTED), + TASK_CANCELLED(LifecycleEvents.TASK_CANCELLED), + TASK_RETRIED(LifecycleEvents.TASK_RETRIED), + WORKFLOW_STARTED(LifecycleEvents.WORKFLOW_STARTED), + WORKFLOW_COMPLETED(LifecycleEvents.WORKFLOW_COMPLETED), + WORKFLOW_SUSPENDED(LifecycleEvents.WORKFLOW_SUSPENDED), + WORKFLOW_RESUMED(LifecycleEvents.WORKFLOW_RESUMED), + WORKFLOW_FAULTED(LifecycleEvents.WORKFLOW_FAULTED), + WORKFLOW_CANCELLED(LifecycleEvents.WORKFLOW_CANCELLED), + WORKFLOW_STATUS_CHANGED(LifecycleEvents.WORKFLOW_STATUS_CHANGED); + + private final String lifecycleId; + + @Override + public String toString() { + return this.lifecycleId; + } + + EventType(String lifecycleId) { + this.lifecycleId = lifecycleId; + } +} diff --git a/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/TaskCancelledEvent.java b/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/TaskCancelledEvent.java index fe3431bb7..7bc143bc7 100644 --- a/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/TaskCancelledEvent.java +++ b/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/TaskCancelledEvent.java @@ -23,4 +23,9 @@ public class TaskCancelledEvent extends TaskEvent { public TaskCancelledEvent(WorkflowContext workflow, TaskContext task) { super(workflow, task); } + + @Override + public EventType type() { + return EventType.TASK_CANCELLED; + } } diff --git a/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/TaskCompletedEvent.java b/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/TaskCompletedEvent.java index a4e361565..7be89af26 100644 --- a/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/TaskCompletedEvent.java +++ b/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/TaskCompletedEvent.java @@ -23,4 +23,9 @@ public class TaskCompletedEvent extends TaskEvent { public TaskCompletedEvent(WorkflowContext workflow, TaskContext task) { super(workflow, task); } + + @Override + public EventType type() { + return EventType.TASK_COMPLETED; + } } diff --git a/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/TaskFailedEvent.java b/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/TaskFailedEvent.java index a2bcd422f..9cbcff613 100644 --- a/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/TaskFailedEvent.java +++ b/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/TaskFailedEvent.java @@ -30,4 +30,9 @@ public TaskFailedEvent(WorkflowContext workflow, TaskContext task, Throwable cau public Throwable cause() { return cause; } + + @Override + public EventType type() { + return EventType.TASK_FAULTED; + } } diff --git a/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/TaskResumedEvent.java b/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/TaskResumedEvent.java index e9aaae8c1..c0b7af01f 100644 --- a/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/TaskResumedEvent.java +++ b/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/TaskResumedEvent.java @@ -23,4 +23,9 @@ public class TaskResumedEvent extends TaskEvent { public TaskResumedEvent(WorkflowContext workflow, TaskContext task) { super(workflow, task); } + + @Override + public EventType type() { + return EventType.TASK_RESUMED; + } } diff --git a/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/TaskRetriedEvent.java b/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/TaskRetriedEvent.java index 5d7690e98..86dd4c240 100644 --- a/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/TaskRetriedEvent.java +++ b/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/TaskRetriedEvent.java @@ -23,4 +23,9 @@ public class TaskRetriedEvent extends TaskEvent { public TaskRetriedEvent(WorkflowContext workflow, TaskContext task) { super(workflow, task); } + + @Override + public EventType type() { + return EventType.TASK_RETRIED; + } } diff --git a/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/TaskStartedEvent.java b/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/TaskStartedEvent.java index b03a6c4fe..003346a40 100644 --- a/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/TaskStartedEvent.java +++ b/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/TaskStartedEvent.java @@ -23,4 +23,9 @@ public class TaskStartedEvent extends TaskEvent { public TaskStartedEvent(WorkflowContext workflow, TaskContext task) { super(workflow, task); } + + @Override + public EventType type() { + return EventType.TASK_STARTED; + } } diff --git a/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/TaskSuspendedEvent.java b/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/TaskSuspendedEvent.java index 6145ae945..12ef15c88 100644 --- a/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/TaskSuspendedEvent.java +++ b/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/TaskSuspendedEvent.java @@ -23,4 +23,9 @@ public class TaskSuspendedEvent extends TaskEvent { public TaskSuspendedEvent(WorkflowContext workflow, TaskContext task) { super(workflow, task); } + + @Override + public EventType type() { + return EventType.TASK_SUSPENDED; + } } diff --git a/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/WorkflowCancelledEvent.java b/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/WorkflowCancelledEvent.java index 272377c38..7185bc635 100644 --- a/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/WorkflowCancelledEvent.java +++ b/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/WorkflowCancelledEvent.java @@ -22,4 +22,9 @@ public class WorkflowCancelledEvent extends WorkflowEvent { public WorkflowCancelledEvent(WorkflowContextData workflow) { super(workflow); } + + @Override + public EventType type() { + return EventType.WORKFLOW_CANCELLED; + } } diff --git a/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/WorkflowCompletedEvent.java b/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/WorkflowCompletedEvent.java index cae1a6d0c..b6630ff61 100644 --- a/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/WorkflowCompletedEvent.java +++ b/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/WorkflowCompletedEvent.java @@ -30,4 +30,9 @@ public WorkflowCompletedEvent(WorkflowContextData workflow, WorkflowModel output public WorkflowModel output() { return output; } + + @Override + public EventType type() { + return EventType.WORKFLOW_COMPLETED; + } } diff --git a/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/WorkflowEvent.java b/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/WorkflowEvent.java index e19ddfefb..4a486e85e 100644 --- a/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/WorkflowEvent.java +++ b/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/WorkflowEvent.java @@ -35,4 +35,6 @@ public WorkflowContextData workflowContext() { public OffsetDateTime eventDate() { return eventDate; } + + public abstract EventType type(); } diff --git a/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/WorkflowFailedEvent.java b/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/WorkflowFailedEvent.java index 7388ebe50..05ee55951 100644 --- a/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/WorkflowFailedEvent.java +++ b/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/WorkflowFailedEvent.java @@ -29,4 +29,9 @@ public WorkflowFailedEvent(WorkflowContextData workflow, Throwable cause) { public Throwable cause() { return cause; } + + @Override + public EventType type() { + return EventType.WORKFLOW_FAULTED; + } } diff --git a/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/WorkflowResumedEvent.java b/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/WorkflowResumedEvent.java index 53e97e044..116082f00 100644 --- a/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/WorkflowResumedEvent.java +++ b/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/WorkflowResumedEvent.java @@ -22,4 +22,9 @@ public class WorkflowResumedEvent extends WorkflowEvent { public WorkflowResumedEvent(WorkflowContextData workflow) { super(workflow); } + + @Override + public EventType type() { + return EventType.WORKFLOW_RESUMED; + } } diff --git a/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/WorkflowStartedEvent.java b/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/WorkflowStartedEvent.java index d4ac34f08..9638eada1 100644 --- a/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/WorkflowStartedEvent.java +++ b/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/WorkflowStartedEvent.java @@ -22,4 +22,9 @@ public class WorkflowStartedEvent extends WorkflowEvent { public WorkflowStartedEvent(WorkflowContextData workflow) { super(workflow); } + + @Override + public EventType type() { + return EventType.WORKFLOW_STARTED; + } } diff --git a/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/WorkflowStatusEvent.java b/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/WorkflowStatusEvent.java index aa7ff746b..0f882860d 100644 --- a/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/WorkflowStatusEvent.java +++ b/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/WorkflowStatusEvent.java @@ -37,4 +37,9 @@ public WorkflowStatus status() { public WorkflowStatus previousStatus() { return prevStatus; } + + @Override + public EventType type() { + return EventType.WORKFLOW_STATUS_CHANGED; + } } diff --git a/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/WorkflowSuspendedEvent.java b/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/WorkflowSuspendedEvent.java index 1975577af..bb6347147 100644 --- a/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/WorkflowSuspendedEvent.java +++ b/impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/WorkflowSuspendedEvent.java @@ -22,4 +22,9 @@ public class WorkflowSuspendedEvent extends WorkflowEvent { public WorkflowSuspendedEvent(WorkflowContextData workflow) { super(workflow); } + + @Override + public EventType type() { + return EventType.WORKFLOW_SUSPENDED; + } }