Skip to content

Commit ba8f975

Browse files
committed
[Fix #1406] Review comments
Signed-off-by: fjtirado <ftirados@redhat.com>
1 parent e538f1e commit ba8f975

8 files changed

Lines changed: 129 additions & 51 deletions

File tree

impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/ce/InputOutputLifeCycleCloudEventFactory.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,21 +24,21 @@ public class InputOutputLifeCycleCloudEventFactory extends DefaultLifeCycleCloud
2424

2525
@Override
2626
public WorkflowCompletedCEData build(WorkflowCompletedEvent ev) {
27-
return new WorkflowCompletedCEDataWOutput(ev);
27+
return new WorkflowCompletedCEDataWithOutput(ev);
2828
}
2929

3030
@Override
3131
public WorkflowStartedCEData build(WorkflowStartedEvent ev) {
32-
return new WorkflowStartedCEDataWInput(ev);
32+
return new WorkflowStartedCEDataWithInput(ev);
3333
}
3434

3535
@Override
3636
public TaskCompletedCEData build(TaskCompletedEvent ev) {
37-
return new TaskCompletedCEDataWOutput(ev);
37+
return new TaskCompletedCEDataWithOutput(ev);
3838
}
3939

4040
@Override
4141
public TaskStartedCEData build(TaskStartedEvent ev) {
42-
return new TaskStartedCEDataWInput(ev);
42+
return new TaskStartedCEDataWithInput(ev);
4343
}
4444
}

impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/ce/TaskCompletedCEDataWOutput.java renamed to impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/ce/TaskCompletedCEDataWithOutput.java

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,17 +16,18 @@
1616
package io.serverlessworkflow.impl.lifecycle.ce;
1717

1818
import io.serverlessworkflow.impl.lifecycle.TaskCompletedEvent;
19+
import java.util.Objects;
1920

20-
public class TaskCompletedCEDataWOutput extends TaskCompletedCEData {
21+
public class TaskCompletedCEDataWithOutput extends TaskCompletedCEData {
2122

2223
private Object output;
2324

24-
public TaskCompletedCEDataWOutput(TaskCompletedEvent ev) {
25+
public TaskCompletedCEDataWithOutput(TaskCompletedEvent ev) {
2526
super(ev);
26-
this.output = ev.taskContext().output();
27+
this.output = ev.taskContext().output().asJavaObject();
2728
}
2829

29-
public TaskCompletedCEDataWOutput() {}
30+
public TaskCompletedCEDataWithOutput() {}
3031

3132
public Object output() {
3233
return output;
@@ -35,4 +36,22 @@ public Object output() {
3536
public Object getOutput() {
3637
return output;
3738
}
39+
40+
@Override
41+
public int hashCode() {
42+
final int prime = 31;
43+
int result = super.hashCode();
44+
result = prime * result + Objects.hash(output);
45+
return result;
46+
}
47+
48+
@Override
49+
public boolean equals(Object obj) {
50+
if (this == obj) return true;
51+
if (obj == null) return false;
52+
if (!super.equals(obj)) return false;
53+
if (getClass() != obj.getClass()) return false;
54+
TaskCompletedCEDataWithOutput other = (TaskCompletedCEDataWithOutput) obj;
55+
return Objects.equals(output, other.output);
56+
}
3857
}

impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/ce/TaskStartedCEDataWInput.java renamed to impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/ce/TaskStartedCEDataWithInput.java

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,17 @@
1616
package io.serverlessworkflow.impl.lifecycle.ce;
1717

1818
import io.serverlessworkflow.impl.lifecycle.TaskStartedEvent;
19+
import java.util.Objects;
1920

20-
public class TaskStartedCEDataWInput extends TaskStartedCEData {
21+
public class TaskStartedCEDataWithInput extends TaskStartedCEData {
2122
private Object input;
2223

23-
public TaskStartedCEDataWInput(TaskStartedEvent ev) {
24+
public TaskStartedCEDataWithInput(TaskStartedEvent ev) {
2425
super(ev);
25-
this.input = ev.taskContext().input();
26+
this.input = ev.taskContext().input().asJavaObject();
2627
}
2728

28-
public TaskStartedCEDataWInput() {}
29+
public TaskStartedCEDataWithInput() {}
2930

3031
public Object input() {
3132
return input;
@@ -34,4 +35,22 @@ public Object input() {
3435
public Object getInput() {
3536
return input;
3637
}
38+
39+
@Override
40+
public int hashCode() {
41+
final int prime = 31;
42+
int result = super.hashCode();
43+
result = prime * result + Objects.hash(input);
44+
return result;
45+
}
46+
47+
@Override
48+
public boolean equals(Object obj) {
49+
if (this == obj) return true;
50+
if (obj == null) return false;
51+
if (!super.equals(obj)) return false;
52+
if (getClass() != obj.getClass()) return false;
53+
TaskStartedCEDataWithInput other = (TaskStartedCEDataWithInput) obj;
54+
return Objects.equals(input, other.input);
55+
}
3756
}

impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/ce/WorkflowCompletedCEDataWOutput.java renamed to impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/ce/WorkflowCompletedCEDataWithOutput.java

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,9 @@
1616
package io.serverlessworkflow.impl.lifecycle.ce;
1717

1818
import io.serverlessworkflow.impl.lifecycle.WorkflowCompletedEvent;
19+
import java.util.Objects;
1920

20-
public class WorkflowCompletedCEDataWOutput extends WorkflowCompletedCEData {
21+
public class WorkflowCompletedCEDataWithOutput extends WorkflowCompletedCEData {
2122

2223
private Object output;
2324

@@ -29,10 +30,28 @@ public Object getOutput() {
2930
return output;
3031
}
3132

32-
public WorkflowCompletedCEDataWOutput(WorkflowCompletedEvent ev) {
33+
public WorkflowCompletedCEDataWithOutput(WorkflowCompletedEvent ev) {
3334
super(ev);
34-
this.output = ev.output();
35+
this.output = ev.output().asJavaObject();
3536
}
3637

37-
public WorkflowCompletedCEDataWOutput() {}
38+
public WorkflowCompletedCEDataWithOutput() {}
39+
40+
@Override
41+
public int hashCode() {
42+
final int prime = 31;
43+
int result = super.hashCode();
44+
result = prime * result + Objects.hash(output);
45+
return result;
46+
}
47+
48+
@Override
49+
public boolean equals(Object obj) {
50+
if (this == obj) return true;
51+
if (obj == null) return false;
52+
if (!super.equals(obj)) return false;
53+
if (getClass() != obj.getClass()) return false;
54+
WorkflowCompletedCEDataWithOutput other = (WorkflowCompletedCEDataWithOutput) obj;
55+
return Objects.equals(output, other.output);
56+
}
3857
}

impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/ce/WorkflowLifeCycleCloudEventFactory.java

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -34,33 +34,33 @@
3434

3535
public interface WorkflowLifeCycleCloudEventFactory {
3636

37-
public CloudEvent build(CloudEventBuilder builder);
37+
CloudEvent build(CloudEventBuilder builder);
3838

39-
public TaskCompletedCEData build(TaskCompletedEvent ev);
39+
TaskCompletedCEData build(TaskCompletedEvent ev);
4040

41-
public TaskFailedCEData build(TaskFailedEvent ev);
41+
TaskFailedCEData build(TaskFailedEvent ev);
4242

43-
public TaskCancelledCEData build(TaskCancelledEvent ev);
43+
TaskCancelledCEData build(TaskCancelledEvent ev);
4444

45-
public TaskResumedCEData build(TaskResumedEvent ev);
45+
TaskResumedCEData build(TaskResumedEvent ev);
4646

47-
public TaskRetriedCEData build(TaskRetriedEvent ev);
47+
TaskRetriedCEData build(TaskRetriedEvent ev);
4848

49-
public TaskStartedCEData build(TaskStartedEvent ev);
49+
TaskStartedCEData build(TaskStartedEvent ev);
5050

51-
public TaskSuspendedCEData build(TaskSuspendedEvent ev);
51+
TaskSuspendedCEData build(TaskSuspendedEvent ev);
5252

53-
public WorkflowCancelledCEData build(WorkflowCancelledEvent ev);
53+
WorkflowCancelledCEData build(WorkflowCancelledEvent ev);
5454

55-
public WorkflowFailedCEData build(WorkflowFailedEvent ev);
55+
WorkflowFailedCEData build(WorkflowFailedEvent ev);
5656

57-
public WorkflowResumedCEData build(WorkflowResumedEvent ev);
57+
WorkflowResumedCEData build(WorkflowResumedEvent ev);
5858

59-
public WorkflowStartedCEData build(WorkflowStartedEvent ev);
59+
WorkflowStartedCEData build(WorkflowStartedEvent ev);
6060

61-
public WorkflowStatusCEDataEvent build(WorkflowStatusEvent ev);
61+
WorkflowStatusCEDataEvent build(WorkflowStatusEvent ev);
6262

63-
public WorkflowSuspendedCEData build(WorkflowSuspendedEvent ev);
63+
WorkflowSuspendedCEData build(WorkflowSuspendedEvent ev);
6464

65-
public WorkflowCompletedCEData build(WorkflowCompletedEvent event);
65+
WorkflowCompletedCEData build(WorkflowCompletedEvent event);
6666
}

impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/ce/WorkflowStartedCEDataWInput.java renamed to impl/core/src/main/java/io/serverlessworkflow/impl/lifecycle/ce/WorkflowStartedCEDataWithInput.java

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,9 @@
1616
package io.serverlessworkflow.impl.lifecycle.ce;
1717

1818
import io.serverlessworkflow.impl.lifecycle.WorkflowStartedEvent;
19+
import java.util.Objects;
1920

20-
public class WorkflowStartedCEDataWInput extends WorkflowStartedCEData {
21+
public class WorkflowStartedCEDataWithInput extends WorkflowStartedCEData {
2122

2223
private Object input;
2324

@@ -29,10 +30,28 @@ public Object getInput() {
2930
return input;
3031
}
3132

32-
public WorkflowStartedCEDataWInput(WorkflowStartedEvent ev) {
33+
public WorkflowStartedCEDataWithInput(WorkflowStartedEvent ev) {
3334
super(ev);
34-
this.input = ev.workflowContext().instanceData().input();
35+
this.input = ev.workflowContext().instanceData().input().asJavaObject();
3536
}
3637

37-
public WorkflowStartedCEDataWInput() {}
38+
public WorkflowStartedCEDataWithInput() {}
39+
40+
@Override
41+
public int hashCode() {
42+
final int prime = 31;
43+
int result = super.hashCode();
44+
result = prime * result + Objects.hash(input);
45+
return result;
46+
}
47+
48+
@Override
49+
public boolean equals(Object obj) {
50+
if (this == obj) return true;
51+
if (obj == null) return false;
52+
if (!super.equals(obj)) return false;
53+
if (getClass() != obj.getClass()) return false;
54+
WorkflowStartedCEDataWithInput other = (WorkflowStartedCEDataWithInput) obj;
55+
return Objects.equals(input, other.input);
56+
}
3857
}

impl/lifecycleevent/src/test/java/io/serverlessworkflow/impl/jackson/events/JacksonLifeCyclePublisherTest.java

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -45,20 +45,20 @@
4545
import io.serverlessworkflow.impl.lifecycle.WorkflowSuspendedEvent;
4646
import io.serverlessworkflow.impl.lifecycle.ce.TaskCancelledCEData;
4747
import io.serverlessworkflow.impl.lifecycle.ce.TaskCompletedCEData;
48-
import io.serverlessworkflow.impl.lifecycle.ce.TaskCompletedCEDataWOutput;
48+
import io.serverlessworkflow.impl.lifecycle.ce.TaskCompletedCEDataWithOutput;
4949
import io.serverlessworkflow.impl.lifecycle.ce.TaskFailedCEData;
5050
import io.serverlessworkflow.impl.lifecycle.ce.TaskResumedCEData;
5151
import io.serverlessworkflow.impl.lifecycle.ce.TaskRetriedCEData;
5252
import io.serverlessworkflow.impl.lifecycle.ce.TaskStartedCEData;
53-
import io.serverlessworkflow.impl.lifecycle.ce.TaskStartedCEDataWInput;
53+
import io.serverlessworkflow.impl.lifecycle.ce.TaskStartedCEDataWithInput;
5454
import io.serverlessworkflow.impl.lifecycle.ce.TaskSuspendedCEData;
5555
import io.serverlessworkflow.impl.lifecycle.ce.WorkflowCancelledCEData;
5656
import io.serverlessworkflow.impl.lifecycle.ce.WorkflowCompletedCEData;
57-
import io.serverlessworkflow.impl.lifecycle.ce.WorkflowCompletedCEDataWOutput;
57+
import io.serverlessworkflow.impl.lifecycle.ce.WorkflowCompletedCEDataWithOutput;
5858
import io.serverlessworkflow.impl.lifecycle.ce.WorkflowFailedCEData;
5959
import io.serverlessworkflow.impl.lifecycle.ce.WorkflowResumedCEData;
6060
import io.serverlessworkflow.impl.lifecycle.ce.WorkflowStartedCEData;
61-
import io.serverlessworkflow.impl.lifecycle.ce.WorkflowStartedCEDataWInput;
61+
import io.serverlessworkflow.impl.lifecycle.ce.WorkflowStartedCEDataWithInput;
6262
import io.serverlessworkflow.impl.lifecycle.ce.WorkflowStatusCEDataEvent;
6363
import io.serverlessworkflow.impl.lifecycle.ce.WorkflowSuspendedCEData;
6464
import io.serverlessworkflow.impl.model.jackson.JacksonModelFactory;
@@ -112,10 +112,11 @@ private static Stream<Arguments> provideParameters() {
112112
return Stream.of(
113113
Arguments.of(new TaskCompletedCEData(new TaskCompletedEvent(workflowContext, taskContext))),
114114
Arguments.of(
115-
new TaskCompletedCEDataWOutput(new TaskCompletedEvent(workflowContext, taskContext))),
115+
new TaskCompletedCEDataWithOutput(
116+
new TaskCompletedEvent(workflowContext, taskContext))),
116117
Arguments.of(new TaskStartedCEData(new TaskStartedEvent(workflowContext, taskContext))),
117118
Arguments.of(
118-
new TaskStartedCEDataWInput(new TaskStartedEvent(workflowContext, taskContext))),
119+
new TaskStartedCEDataWithInput(new TaskStartedEvent(workflowContext, taskContext))),
119120
Arguments.of(new TaskCancelledCEData(new TaskCancelledEvent(workflowContext, taskContext))),
120121
Arguments.of(new TaskResumedCEData(new TaskResumedEvent(workflowContext, taskContext))),
121122
Arguments.of(new TaskRetriedCEData(new TaskRetriedEvent(workflowContext, taskContext))),
@@ -125,11 +126,11 @@ private static Stream<Arguments> provideParameters() {
125126
new TaskFailedEvent(
126127
workflowContext, taskContext, new IllegalArgumentException("NOOOO!!!!")))),
127128
Arguments.of(new WorkflowStartedCEData(new WorkflowStartedEvent(workflowContext))),
128-
Arguments.of(new WorkflowStartedCEDataWInput(new WorkflowStartedEvent(workflowContext))),
129+
Arguments.of(new WorkflowStartedCEDataWithInput(new WorkflowStartedEvent(workflowContext))),
129130
Arguments.of(
130131
new WorkflowCompletedCEData(new WorkflowCompletedEvent(workflowContext, null))),
131132
Arguments.of(
132-
new WorkflowCompletedCEDataWOutput(
133+
new WorkflowCompletedCEDataWithOutput(
133134
new WorkflowCompletedEvent(
134135
workflowContext, factory.fromAny(Map.of("name", "Javierito"))))),
135136
Arguments.of(new WorkflowCancelledCEData(new WorkflowCancelledEvent(workflowContext))),

impl/test/src/test/java/io/serverlessworkflow/impl/test/LifeCycleEventsTest.java

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,10 @@
3636
import io.serverlessworkflow.impl.lifecycle.ce.AbstractLifeCyclePublisher;
3737
import io.serverlessworkflow.impl.lifecycle.ce.InputOutputLifeCycleCloudEventFactory;
3838
import io.serverlessworkflow.impl.lifecycle.ce.TaskCancelledCEData;
39-
import io.serverlessworkflow.impl.lifecycle.ce.TaskCompletedCEDataWOutput;
39+
import io.serverlessworkflow.impl.lifecycle.ce.TaskCompletedCEDataWithOutput;
4040
import io.serverlessworkflow.impl.lifecycle.ce.TaskStartedCEData;
4141
import io.serverlessworkflow.impl.lifecycle.ce.WorkflowCancelledCEData;
42-
import io.serverlessworkflow.impl.lifecycle.ce.WorkflowCompletedCEDataWOutput;
42+
import io.serverlessworkflow.impl.lifecycle.ce.WorkflowCompletedCEDataWithOutput;
4343
import io.serverlessworkflow.impl.lifecycle.ce.WorkflowFailedCEData;
4444
import io.serverlessworkflow.impl.lifecycle.ce.WorkflowResumedCEData;
4545
import io.serverlessworkflow.impl.lifecycle.ce.WorkflowStartedCEData;
@@ -109,14 +109,15 @@ void simpleWorkflow() throws IOException {
109109
assertPojoInCE("io.serverlessworkflow.workflow.started.v1", WorkflowStartedCEData.class);
110110
TaskStartedCEData taskStartedEvent =
111111
assertPojoInCE("io.serverlessworkflow.task.started.v1", TaskStartedCEData.class);
112-
TaskCompletedCEDataWOutput taskCompletedEvent =
113-
assertPojoInCE("io.serverlessworkflow.task.completed.v1", TaskCompletedCEDataWOutput.class);
114-
WorkflowCompletedCEDataWOutput workflowCompletedEvent =
112+
TaskCompletedCEDataWithOutput taskCompletedEvent =
115113
assertPojoInCE(
116-
"io.serverlessworkflow.workflow.completed.v1", WorkflowCompletedCEDataWOutput.class);
117-
assertThat(workflowCompletedEvent.output()).isEqualTo(model);
114+
"io.serverlessworkflow.task.completed.v1", TaskCompletedCEDataWithOutput.class);
115+
WorkflowCompletedCEDataWithOutput workflowCompletedEvent =
116+
assertPojoInCE(
117+
"io.serverlessworkflow.workflow.completed.v1", WorkflowCompletedCEDataWithOutput.class);
118+
assertThat(workflowCompletedEvent.output()).isEqualTo(model.asJavaObject());
118119
assertThat(workflowStartedEvent.startedAt()).isBefore(workflowCompletedEvent.completedAt());
119-
assertThat(taskCompletedEvent.output()).isEqualTo(model);
120+
assertThat(taskCompletedEvent.output()).isEqualTo(model.asJavaObject());
120121
assertThat(taskCompletedEvent.completedAt())
121122
.isBeforeOrEqualTo(workflowCompletedEvent.completedAt());
122123
assertThat(taskStartedEvent.startedAt()).isAfterOrEqualTo(workflowStartedEvent.startedAt());

0 commit comments

Comments
 (0)