@@ -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
0 commit comments