1717
1818package com .uber .cadence .internal .testservice ;
1919
20- import com .uber .cadence .*;
20+ import com .uber .cadence .BadRequestError ;
21+ import com .uber .cadence .ClientVersionNotSupportedError ;
22+ import com .uber .cadence .ClusterInfo ;
23+ import com .uber .cadence .CountWorkflowExecutionsRequest ;
24+ import com .uber .cadence .CountWorkflowExecutionsResponse ;
25+ import com .uber .cadence .DeprecateDomainRequest ;
26+ import com .uber .cadence .DescribeDomainRequest ;
27+ import com .uber .cadence .DescribeDomainResponse ;
28+ import com .uber .cadence .DescribeTaskListRequest ;
29+ import com .uber .cadence .DescribeTaskListResponse ;
30+ import com .uber .cadence .DescribeWorkflowExecutionRequest ;
31+ import com .uber .cadence .DescribeWorkflowExecutionResponse ;
32+ import com .uber .cadence .DomainAlreadyExistsError ;
33+ import com .uber .cadence .DomainNotActiveError ;
34+ import com .uber .cadence .EntityNotExistsError ;
35+ import com .uber .cadence .GetSearchAttributesResponse ;
36+ import com .uber .cadence .GetWorkflowExecutionHistoryRequest ;
37+ import com .uber .cadence .GetWorkflowExecutionHistoryResponse ;
38+ import com .uber .cadence .InternalServiceError ;
39+ import com .uber .cadence .LimitExceededError ;
40+ import com .uber .cadence .ListArchivedWorkflowExecutionsRequest ;
41+ import com .uber .cadence .ListArchivedWorkflowExecutionsResponse ;
42+ import com .uber .cadence .ListClosedWorkflowExecutionsRequest ;
43+ import com .uber .cadence .ListClosedWorkflowExecutionsResponse ;
44+ import com .uber .cadence .ListDomainsRequest ;
45+ import com .uber .cadence .ListDomainsResponse ;
46+ import com .uber .cadence .ListOpenWorkflowExecutionsRequest ;
47+ import com .uber .cadence .ListOpenWorkflowExecutionsResponse ;
48+ import com .uber .cadence .ListTaskListPartitionsRequest ;
49+ import com .uber .cadence .ListTaskListPartitionsResponse ;
50+ import com .uber .cadence .ListWorkflowExecutionsRequest ;
51+ import com .uber .cadence .ListWorkflowExecutionsResponse ;
52+ import com .uber .cadence .PollForActivityTaskRequest ;
53+ import com .uber .cadence .PollForActivityTaskResponse ;
54+ import com .uber .cadence .PollForDecisionTaskRequest ;
55+ import com .uber .cadence .PollForDecisionTaskResponse ;
56+ import com .uber .cadence .QueryFailedError ;
57+ import com .uber .cadence .QueryWorkflowRequest ;
58+ import com .uber .cadence .QueryWorkflowResponse ;
59+ import com .uber .cadence .RecordActivityTaskHeartbeatByIDRequest ;
60+ import com .uber .cadence .RecordActivityTaskHeartbeatRequest ;
61+ import com .uber .cadence .RecordActivityTaskHeartbeatResponse ;
62+ import com .uber .cadence .RegisterDomainRequest ;
63+ import com .uber .cadence .RequestCancelWorkflowExecutionRequest ;
64+ import com .uber .cadence .ResetStickyTaskListRequest ;
65+ import com .uber .cadence .ResetStickyTaskListResponse ;
66+ import com .uber .cadence .ResetWorkflowExecutionRequest ;
67+ import com .uber .cadence .ResetWorkflowExecutionResponse ;
68+ import com .uber .cadence .RespondActivityTaskCanceledByIDRequest ;
69+ import com .uber .cadence .RespondActivityTaskCanceledRequest ;
70+ import com .uber .cadence .RespondActivityTaskCompletedByIDRequest ;
71+ import com .uber .cadence .RespondActivityTaskCompletedRequest ;
72+ import com .uber .cadence .RespondActivityTaskFailedByIDRequest ;
73+ import com .uber .cadence .RespondActivityTaskFailedRequest ;
74+ import com .uber .cadence .RespondDecisionTaskCompletedRequest ;
75+ import com .uber .cadence .RespondDecisionTaskCompletedResponse ;
76+ import com .uber .cadence .RespondDecisionTaskFailedRequest ;
77+ import com .uber .cadence .RespondQueryTaskCompletedRequest ;
78+ import com .uber .cadence .RetryPolicy ;
79+ import com .uber .cadence .ServiceBusyError ;
80+ import com .uber .cadence .SignalExternalWorkflowExecutionDecisionAttributes ;
81+ import com .uber .cadence .SignalExternalWorkflowExecutionFailedCause ;
82+ import com .uber .cadence .SignalWithStartWorkflowExecutionRequest ;
83+ import com .uber .cadence .SignalWorkflowExecutionRequest ;
84+ import com .uber .cadence .StartWorkflowExecutionRequest ;
85+ import com .uber .cadence .StartWorkflowExecutionResponse ;
86+ import com .uber .cadence .TerminateWorkflowExecutionRequest ;
87+ import com .uber .cadence .UpdateDomainRequest ;
88+ import com .uber .cadence .UpdateDomainResponse ;
89+ import com .uber .cadence .WorkflowExecution ;
90+ import com .uber .cadence .WorkflowExecutionAlreadyStartedError ;
91+ import com .uber .cadence .WorkflowExecutionCloseStatus ;
92+ import com .uber .cadence .WorkflowExecutionContinuedAsNewEventAttributes ;
93+ import com .uber .cadence .WorkflowExecutionFilter ;
94+ import com .uber .cadence .WorkflowExecutionInfo ;
95+ import com .uber .cadence .WorkflowIdReusePolicy ;
2196import com .uber .cadence .internal .testservice .TestWorkflowMutableStateImpl .QueryId ;
2297import com .uber .cadence .internal .testservice .TestWorkflowStore .WorkflowState ;
2398import com .uber .cadence .serviceclient .IWorkflowService ;
@@ -175,7 +250,7 @@ StartWorkflowExecutionResponse startWorkflowExecutionImpl(
175250 Optional <RetryState > retryState = newRetryStateLocked (retryPolicy );
176251 return startWorkflowExecutionNoRunningCheckLocked (
177252 startRequest ,
178- false ,
253+ Optional . empty () ,
179254 retryState ,
180255 backoffStartIntervalInSeconds ,
181256 null ,
@@ -213,7 +288,7 @@ private StartWorkflowExecutionResponse throwDuplicatedWorkflow(
213288
214289 private StartWorkflowExecutionResponse startWorkflowExecutionNoRunningCheckLocked (
215290 StartWorkflowExecutionRequest startRequest ,
216- boolean continuedAsNew ,
291+ Optional < String > continuedExecutionRunId ,
217292 Optional <RetryState > retryState ,
218293 int backoffStartIntervalInSeconds ,
219294 byte [] lastCompletionResult ,
@@ -231,13 +306,14 @@ private StartWorkflowExecutionResponse startWorkflowExecutionNoRunningCheckLocke
231306 lastCompletionResult ,
232307 parent ,
233308 parentChildInitiatedEventId ,
309+ continuedExecutionRunId ,
234310 this ,
235311 store );
236312 WorkflowExecution execution = mutableState .getExecutionId ().getExecution ();
237313 ExecutionId executionId = new ExecutionId (domain , execution );
238314 executionsByWorkflowId .put (workflowId , mutableState );
239315 executions .put (executionId , mutableState );
240- mutableState .startWorkflow (continuedAsNew , signalWithStartSignal );
316+ mutableState .startWorkflow (continuedExecutionRunId . isPresent () , signalWithStartSignal );
241317 return new StartWorkflowExecutionResponse ().setRunId (execution .getRunId ());
242318 }
243319
@@ -537,7 +613,7 @@ public String continueAsNew(
537613 StartWorkflowExecutionResponse response =
538614 startWorkflowExecutionNoRunningCheckLocked (
539615 startRequest ,
540- true ,
616+ Optional . of ( executionId . getExecution (). getRunId ()) ,
541617 retryState ,
542618 a .getBackoffStartIntervalInSeconds (),
543619 a .getLastCompletionResult (),
0 commit comments