Skip to content

Commit 3767ed9

Browse files
committed
remove resultType from StepOperation
1 parent 3ab0787 commit 3767ed9

2 files changed

Lines changed: 5 additions & 39 deletions

File tree

sdk/src/main/java/com/amazonaws/lambda/durable/operation/StepOperation.java

Lines changed: 2 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -33,26 +33,13 @@ public class StepOperation<T> implements DurableOperation<T> {
3333
private final String operationId;
3434
private final String name;
3535
private final Supplier<T> function;
36-
private final Class<T> resultType;
3736
private final TypeToken<T> resultTypeToken;
3837
private final StepConfig config;
3938
private final ExecutionManager executionManager;
4039
private final DurableLogger durableLogger;
4140
private final SerDes serDes;
4241
private final Phaser phaser;
4342

44-
public StepOperation(
45-
String operationId,
46-
String name,
47-
Supplier<T> function,
48-
Class<T> resultType,
49-
StepConfig config,
50-
ExecutionManager executionManager,
51-
DurableLogger durableLogger,
52-
SerDes serDes) {
53-
this(operationId, name, function, resultType, null, config, executionManager, durableLogger, serDes);
54-
}
55-
5643
public StepOperation(
5744
String operationId,
5845
String name,
@@ -62,30 +49,13 @@ public StepOperation(
6249
ExecutionManager executionManager,
6350
DurableLogger durableLogger,
6451
SerDes serDes) {
65-
this(operationId, name, function, null, resultTypeToken, config, executionManager, durableLogger, serDes);
66-
}
67-
68-
private StepOperation(
69-
String operationId,
70-
String name,
71-
Supplier<T> function,
72-
Class<T> resultType,
73-
TypeToken<T> resultTypeToken,
74-
StepConfig config,
75-
ExecutionManager executionManager,
76-
DurableLogger durableLogger,
77-
SerDes serDes) {
78-
if (resultType == null && resultTypeToken == null) {
52+
if (resultTypeToken == null) {
7953
throw new IllegalArgumentException("Either resultType or resultTypeToken must be provided");
8054
}
81-
if (resultType != null && resultTypeToken != null) {
82-
throw new IllegalArgumentException("Cannot provide both resultType and resultTypeToken");
83-
}
8455

8556
this.operationId = operationId;
8657
this.name = name;
8758
this.function = function;
88-
this.resultType = resultType;
8959
this.resultTypeToken = resultTypeToken;
9060
this.config = config;
9161
this.executionManager = executionManager;
@@ -337,12 +307,7 @@ public T get() {
337307
var stepDetails = op.stepDetails();
338308
var result = (stepDetails != null) ? stepDetails.result() : null;
339309

340-
// Use TypeToken if provided, otherwise use Class
341-
if (resultTypeToken != null) {
342-
return serDes.deserialize(result, resultTypeToken);
343-
} else {
344-
return serDes.deserialize(result, TypeToken.get(resultType));
345-
}
310+
return serDes.deserialize(result, resultTypeToken);
346311
} else {
347312
// It failed so there's some kind of throwable. If we're using a serDes with
348313
// type info, deserialize and rethrow the original

sdk/src/test/java/com/amazonaws/lambda/durable/operation/StepOperationTest.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import static org.junit.jupiter.api.Assertions.*;
66
import static org.mockito.Mockito.*;
77

8+
import com.amazonaws.lambda.durable.TypeToken;
89
import com.amazonaws.lambda.durable.execution.ExecutionManager;
910
import com.amazonaws.lambda.durable.execution.OperationContext;
1011
import com.amazonaws.lambda.durable.execution.ThreadType;
@@ -26,7 +27,7 @@ void getThrowsIllegalStateExceptionWhenCalledFromStepContext() {
2627
"1",
2728
"test-step",
2829
() -> "result",
29-
String.class,
30+
TypeToken.get(String.class),
3031
null,
3132
executionManager,
3233
mock(DurableLogger.class),
@@ -58,7 +59,7 @@ void getDoesNotThrowWhenCalledFromHandlerContext() {
5859
"1",
5960
"test-step",
6061
() -> "result",
61-
String.class,
62+
TypeToken.get(String.class),
6263
null,
6364
executionManager,
6465
mock(DurableLogger.class),

0 commit comments

Comments
 (0)