diff --git a/build.gradle b/build.gradle index faf60a464..88fc64e85 100644 --- a/build.gradle +++ b/build.gradle @@ -74,6 +74,11 @@ dependencies { compile group: 'com.google.api.grpc', name: 'proto-google-common-protos', version: '2.10.0' compile group: 'com.google.protobuf', name: 'protobuf-java-util', version: '3.21.9' compile group: 'com.google.oauth-client', name: 'google-oauth-client', version: '1.35.0' + compile group: 'org.projectlombok', name: 'lombok', version: '1.18.30' + compileOnly 'org.projectlombok:lombok:1.18.30' + annotationProcessor 'org.projectlombok:lombok:1.18.30' + testCompileOnly 'org.projectlombok:lombok:1.18.30' + testAnnotationProcessor 'org.projectlombok:lombok:1.18.30' implementation 'io.grpc:grpc-netty-shaded:1.54.2' implementation 'io.grpc:grpc-protobuf:1.54.2' diff --git a/src/main/java/com/uber/cadence/entities/ActivityLocalDispatchInfo.java b/src/main/java/com/uber/cadence/entities/ActivityLocalDispatchInfo.java new file mode 100644 index 000000000..82defc90b --- /dev/null +++ b/src/main/java/com/uber/cadence/entities/ActivityLocalDispatchInfo.java @@ -0,0 +1,26 @@ +/** + * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + *
Modifications copyright (C) 2017 Uber Technologies, Inc. + * + *
Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file + * except in compliance with the License. A copy of the License is located at + * + *
http://aws.amazon.com/apache2.0 + * + *
or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities; + +import lombok.Data; + +@Data +public class ActivityLocalDispatchInfo { + private String activityId; + private Long scheduledTimestamp; + private Long startedTimestamp; + private Long scheduledTimestampOfThisAttempt; + private byte[] taskToken; +} diff --git a/src/main/java/com/uber/cadence/entities/ActivityTaskCancelRequestedEventAttributes.java b/src/main/java/com/uber/cadence/entities/ActivityTaskCancelRequestedEventAttributes.java new file mode 100644 index 000000000..d761024c9 --- /dev/null +++ b/src/main/java/com/uber/cadence/entities/ActivityTaskCancelRequestedEventAttributes.java @@ -0,0 +1,23 @@ +/** + * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + *
Modifications copyright (C) 2017 Uber Technologies, Inc. + * + *
Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file + * except in compliance with the License. A copy of the License is located at + * + *
http://aws.amazon.com/apache2.0 + * + *
or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities; + +import lombok.Data; + +@Data +public class ActivityTaskCancelRequestedEventAttributes { + private String activityId; + private Long decisionTaskCompletedEventId; +} diff --git a/src/main/java/com/uber/cadence/entities/ActivityTaskCanceledEventAttributes.java b/src/main/java/com/uber/cadence/entities/ActivityTaskCanceledEventAttributes.java new file mode 100644 index 000000000..72e872964 --- /dev/null +++ b/src/main/java/com/uber/cadence/entities/ActivityTaskCanceledEventAttributes.java @@ -0,0 +1,26 @@ +/** + * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + *
Modifications copyright (C) 2017 Uber Technologies, Inc. + * + *
Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file + * except in compliance with the License. A copy of the License is located at + * + *
http://aws.amazon.com/apache2.0 + * + *
or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities; + +import lombok.Data; + +@Data +public class ActivityTaskCanceledEventAttributes { + private byte[] details; + private Long scheduledEventId; + private Long startedEventId; + private Long latestCancelRequestedEventId; + private String identity; +} diff --git a/src/main/java/com/uber/cadence/entities/ActivityTaskCompletedEventAttributes.java b/src/main/java/com/uber/cadence/entities/ActivityTaskCompletedEventAttributes.java new file mode 100644 index 000000000..6036584b8 --- /dev/null +++ b/src/main/java/com/uber/cadence/entities/ActivityTaskCompletedEventAttributes.java @@ -0,0 +1,25 @@ +/** + * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + *
Modifications copyright (C) 2017 Uber Technologies, Inc. + * + *
Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file + * except in compliance with the License. A copy of the License is located at + * + *
http://aws.amazon.com/apache2.0 + * + *
or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities; + +import lombok.Data; + +@Data +public class ActivityTaskCompletedEventAttributes { + private byte[] result; + private Long scheduledEventId; + private Long startedEventId; + private String identity; +} diff --git a/src/main/java/com/uber/cadence/entities/ActivityTaskFailedEventAttributes.java b/src/main/java/com/uber/cadence/entities/ActivityTaskFailedEventAttributes.java new file mode 100644 index 000000000..5d2dc06e6 --- /dev/null +++ b/src/main/java/com/uber/cadence/entities/ActivityTaskFailedEventAttributes.java @@ -0,0 +1,26 @@ +/** + * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + *
Modifications copyright (C) 2017 Uber Technologies, Inc. + * + *
Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file + * except in compliance with the License. A copy of the License is located at + * + *
http://aws.amazon.com/apache2.0 + * + *
or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities; + +import lombok.Data; + +@Data +public class ActivityTaskFailedEventAttributes { + private String reason; + private byte[] details; + private Long scheduledEventId; + private Long startedEventId; + private String identity; +} diff --git a/src/main/java/com/uber/cadence/entities/ActivityTaskScheduledEventAttributes.java b/src/main/java/com/uber/cadence/entities/ActivityTaskScheduledEventAttributes.java new file mode 100644 index 000000000..3e9f95f8e --- /dev/null +++ b/src/main/java/com/uber/cadence/entities/ActivityTaskScheduledEventAttributes.java @@ -0,0 +1,34 @@ +/** + * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + *
Modifications copyright (C) 2017 Uber Technologies, Inc. + * + *
Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file + * except in compliance with the License. A copy of the License is located at + * + *
http://aws.amazon.com/apache2.0 + * + *
or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities; + +import lombok.Data; + +@Data +public class ActivityTaskScheduledEventAttributes { + private ActivityType activityType; + private String activityId; + private String domain; + private TaskList taskList; + private byte[] input; + private Integer scheduleToCloseTimeoutSeconds; + private Integer scheduleToStartTimeoutSeconds; + private Integer startToCloseTimeoutSeconds; + private Integer heartbeatTimeoutSeconds; + private Long decisionTaskCompletedEventId; + private RetryPolicy retryPolicy; + private Header header; + private String requestLocalDispatch; +} diff --git a/src/main/java/com/uber/cadence/entities/ActivityTaskStartedEventAttributes.java b/src/main/java/com/uber/cadence/entities/ActivityTaskStartedEventAttributes.java new file mode 100644 index 000000000..6e858a220 --- /dev/null +++ b/src/main/java/com/uber/cadence/entities/ActivityTaskStartedEventAttributes.java @@ -0,0 +1,27 @@ +/** + * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + *
Modifications copyright (C) 2017 Uber Technologies, Inc. + * + *
Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file + * except in compliance with the License. A copy of the License is located at + * + *
http://aws.amazon.com/apache2.0 + * + *
or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities; + +import lombok.Data; + +@Data +public class ActivityTaskStartedEventAttributes { + private Long scheduledEventId; + private String identity; + private String requestId; + private Integer attempt; + private String lastFailureReason; + private byte[] lastFailureDetails; +} diff --git a/src/main/java/com/uber/cadence/entities/ActivityTaskTimedOutEventAttributes.java b/src/main/java/com/uber/cadence/entities/ActivityTaskTimedOutEventAttributes.java new file mode 100644 index 000000000..60fc2d3e1 --- /dev/null +++ b/src/main/java/com/uber/cadence/entities/ActivityTaskTimedOutEventAttributes.java @@ -0,0 +1,28 @@ +/** + * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + *
Modifications copyright (C) 2017 Uber Technologies, Inc. + * + *
Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file + * except in compliance with the License. A copy of the License is located at + * + *
http://aws.amazon.com/apache2.0 + * + *
or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities; + +import lombok.Data; + +@Data +public class ActivityTaskTimedOutEventAttributes { + private byte[] details; + private Long scheduledEventId; + private Long startedEventId; + private TimeoutType timeoutType; + private String lastHeartbeatDetails; + private String lastFailureReason; + private byte[] lastFailureDetails; +} diff --git a/src/main/java/com/uber/cadence/entities/ActivityType.java b/src/main/java/com/uber/cadence/entities/ActivityType.java new file mode 100644 index 000000000..3be9ff9a0 --- /dev/null +++ b/src/main/java/com/uber/cadence/entities/ActivityType.java @@ -0,0 +1,22 @@ +/** + * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + *
Modifications copyright (C) 2017 Uber Technologies, Inc. + * + *
Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file + * except in compliance with the License. A copy of the License is located at + * + *
http://aws.amazon.com/apache2.0 + * + *
or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities; + +import lombok.Data; + +@Data +public class ActivityType { + private String name; +} diff --git a/src/main/java/com/uber/cadence/entities/ArchivalStatus.java b/src/main/java/com/uber/cadence/entities/ArchivalStatus.java new file mode 100644 index 000000000..f7d49655c --- /dev/null +++ b/src/main/java/com/uber/cadence/entities/ArchivalStatus.java @@ -0,0 +1,24 @@ +/** + * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + *
Modifications copyright (C) 2017 Uber Technologies, Inc. + * + *
Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file + * except in compliance with the License. A copy of the License is located at + * + *
http://aws.amazon.com/apache2.0 + * + *
or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities; + +/** ArchivalStatus represents the status of archival for a domain. */ +public enum ArchivalStatus { + /** Archival is disabled. */ + DISABLED, + + /** Archival is enabled. */ + ENABLED +} diff --git a/src/main/java/com/uber/cadence/entities/AsyncWorkflowConfiguration.java b/src/main/java/com/uber/cadence/entities/AsyncWorkflowConfiguration.java new file mode 100644 index 000000000..507b30312 --- /dev/null +++ b/src/main/java/com/uber/cadence/entities/AsyncWorkflowConfiguration.java @@ -0,0 +1,24 @@ +/** + * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + *
Modifications copyright (C) 2017 Uber Technologies, Inc. + * + *
Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file + * except in compliance with the License. A copy of the License is located at + * + *
http://aws.amazon.com/apache2.0 + * + *
or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities; + +import lombok.Data; + +@Data +public class AsyncWorkflowConfiguration { + private boolean enabled; + private Integer prefetchTaskListSize; + private Integer maxConcurrentTaskExecutionSize; +} diff --git a/src/main/java/com/uber/cadence/entities/BadBinaries.java b/src/main/java/com/uber/cadence/entities/BadBinaries.java new file mode 100644 index 000000000..17b974c2f --- /dev/null +++ b/src/main/java/com/uber/cadence/entities/BadBinaries.java @@ -0,0 +1,23 @@ +/** + * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + *
Modifications copyright (C) 2017 Uber Technologies, Inc. + * + *
Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file + * except in compliance with the License. A copy of the License is located at + * + *
http://aws.amazon.com/apache2.0 + * + *
or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import java.util.Map;
+import lombok.Data;
+
+@Data
+public class BadBinaries {
+ private Map Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class BadBinaryInfo {
+ private String reason;
+ private String operator;
+ private Long createdTimeNano;
+}
diff --git a/src/main/java/com/uber/cadence/entities/CancelExternalWorkflowExecutionFailedCause.java b/src/main/java/com/uber/cadence/entities/CancelExternalWorkflowExecutionFailedCause.java
new file mode 100644
index 000000000..f3d45b516
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/CancelExternalWorkflowExecutionFailedCause.java
@@ -0,0 +1,25 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+public enum CancelExternalWorkflowExecutionFailedCause {
+ UNKNOWN_EXTERNAL_WORKFLOW_EXECUTION,
+ WORKFLOW_ALREADY_COMPLETED,
+ WORKFLOW_ALREADY_CANCELED,
+ WORKFLOW_ALREADY_TERMINATED,
+ WORKFLOW_ALREADY_TIMED_OUT,
+ WORKFLOW_ALREADY_FAILED,
+ WORKFLOW_ALREADY_CONTINUED_AS_NEW
+}
diff --git a/src/main/java/com/uber/cadence/entities/CancelTimerDecisionAttributes.java b/src/main/java/com/uber/cadence/entities/CancelTimerDecisionAttributes.java
new file mode 100644
index 000000000..e3d62dae3
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/CancelTimerDecisionAttributes.java
@@ -0,0 +1,22 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class CancelTimerDecisionAttributes {
+ private String timerId;
+}
diff --git a/src/main/java/com/uber/cadence/entities/CancelTimerFailedEventAttributes.java b/src/main/java/com/uber/cadence/entities/CancelTimerFailedEventAttributes.java
new file mode 100644
index 000000000..2e3d080cb
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/CancelTimerFailedEventAttributes.java
@@ -0,0 +1,25 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class CancelTimerFailedEventAttributes {
+ private String timerId;
+ private String cause;
+ private Long decisionTaskCompletedEventId;
+ private String identity;
+}
diff --git a/src/main/java/com/uber/cadence/entities/CancelWorkflowExecutionDecisionAttributes.java b/src/main/java/com/uber/cadence/entities/CancelWorkflowExecutionDecisionAttributes.java
new file mode 100644
index 000000000..3aef61034
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/CancelWorkflowExecutionDecisionAttributes.java
@@ -0,0 +1,22 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class CancelWorkflowExecutionDecisionAttributes {
+ private byte[] details;
+}
diff --git a/src/main/java/com/uber/cadence/entities/ChildPolicy.java b/src/main/java/com/uber/cadence/entities/ChildPolicy.java
new file mode 100644
index 000000000..54de5d405
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/ChildPolicy.java
@@ -0,0 +1,21 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+public enum ChildPolicy {
+ TERMINATE,
+ REQUEST_CANCEL,
+ ABANDON
+}
diff --git a/src/main/java/com/uber/cadence/entities/ChildWorkflowExecutionCanceledEventAttributes.java b/src/main/java/com/uber/cadence/entities/ChildWorkflowExecutionCanceledEventAttributes.java
new file mode 100644
index 000000000..87b9fa388
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/ChildWorkflowExecutionCanceledEventAttributes.java
@@ -0,0 +1,27 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class ChildWorkflowExecutionCanceledEventAttributes {
+ private byte[] details;
+ private String domain;
+ private WorkflowExecution workflowExecution;
+ private WorkflowType workflowType;
+ private Long initiatedEventId;
+ private Long startedEventId;
+}
diff --git a/src/main/java/com/uber/cadence/entities/ChildWorkflowExecutionCompletedEventAttributes.java b/src/main/java/com/uber/cadence/entities/ChildWorkflowExecutionCompletedEventAttributes.java
new file mode 100644
index 000000000..2d0f2513d
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/ChildWorkflowExecutionCompletedEventAttributes.java
@@ -0,0 +1,27 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class ChildWorkflowExecutionCompletedEventAttributes {
+ private byte[] result;
+ private String domain;
+ private WorkflowExecution workflowExecution;
+ private WorkflowType workflowType;
+ private Long initiatedEventId;
+ private Long startedEventId;
+}
diff --git a/src/main/java/com/uber/cadence/entities/ChildWorkflowExecutionFailedCause.java b/src/main/java/com/uber/cadence/entities/ChildWorkflowExecutionFailedCause.java
new file mode 100644
index 000000000..5af4b82f5
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/ChildWorkflowExecutionFailedCause.java
@@ -0,0 +1,27 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+public enum ChildWorkflowExecutionFailedCause {
+ WORKFLOW_TYPE_DOES_NOT_EXIST,
+ WORKFLOW_ALREADY_RUNNING,
+ WORKFLOW_ALREADY_COMPLETED,
+ WORKFLOW_ALREADY_CANCELED,
+ WORKFLOW_ALREADY_TERMINATED,
+ WORKFLOW_ALREADY_TIMED_OUT,
+ WORKFLOW_ALREADY_FAILED,
+ WORKFLOW_ALREADY_CONTINUED_AS_NEW,
+ WORKFLOW_ALREADY_STARTED
+}
diff --git a/src/main/java/com/uber/cadence/entities/ChildWorkflowExecutionFailedEventAttributes.java b/src/main/java/com/uber/cadence/entities/ChildWorkflowExecutionFailedEventAttributes.java
new file mode 100644
index 000000000..41c5950bf
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/ChildWorkflowExecutionFailedEventAttributes.java
@@ -0,0 +1,28 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class ChildWorkflowExecutionFailedEventAttributes {
+ private String reason;
+ private byte[] details;
+ private String domain;
+ private WorkflowExecution workflowExecution;
+ private WorkflowType workflowType;
+ private Long initiatedEventId;
+ private Long startedEventId;
+}
diff --git a/src/main/java/com/uber/cadence/entities/ChildWorkflowExecutionStartedEventAttributes.java b/src/main/java/com/uber/cadence/entities/ChildWorkflowExecutionStartedEventAttributes.java
new file mode 100644
index 000000000..3a2831781
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/ChildWorkflowExecutionStartedEventAttributes.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class ChildWorkflowExecutionStartedEventAttributes {
+ private String domain;
+ private WorkflowExecution workflowExecution;
+ private WorkflowType workflowType;
+ private Long initiatedEventId;
+ private Header header;
+}
diff --git a/src/main/java/com/uber/cadence/entities/ChildWorkflowExecutionTerminatedEventAttributes.java b/src/main/java/com/uber/cadence/entities/ChildWorkflowExecutionTerminatedEventAttributes.java
new file mode 100644
index 000000000..ef0b616d1
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/ChildWorkflowExecutionTerminatedEventAttributes.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class ChildWorkflowExecutionTerminatedEventAttributes {
+ private String domain;
+ private WorkflowExecution workflowExecution;
+ private WorkflowType workflowType;
+ private Long initiatedEventId;
+ private Long startedEventId;
+}
diff --git a/src/main/java/com/uber/cadence/entities/ChildWorkflowExecutionTimedOutEventAttributes.java b/src/main/java/com/uber/cadence/entities/ChildWorkflowExecutionTimedOutEventAttributes.java
new file mode 100644
index 000000000..c9ba5387c
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/ChildWorkflowExecutionTimedOutEventAttributes.java
@@ -0,0 +1,27 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class ChildWorkflowExecutionTimedOutEventAttributes {
+ private TimeoutType timeoutType;
+ private String domain;
+ private WorkflowExecution workflowExecution;
+ private WorkflowType workflowType;
+ private Long initiatedEventId;
+ private Long startedEventId;
+}
diff --git a/src/main/java/com/uber/cadence/entities/ClusterInfo.java b/src/main/java/com/uber/cadence/entities/ClusterInfo.java
new file mode 100644
index 000000000..4d6956bbb
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/ClusterInfo.java
@@ -0,0 +1,22 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class ClusterInfo {
+ private SupportedClientVersions supportedClientVersions;
+}
diff --git a/src/main/java/com/uber/cadence/entities/ClusterReplicationConfiguration.java b/src/main/java/com/uber/cadence/entities/ClusterReplicationConfiguration.java
new file mode 100644
index 000000000..56d50afee
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/ClusterReplicationConfiguration.java
@@ -0,0 +1,22 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class ClusterReplicationConfiguration {
+ private String clusterName;
+}
diff --git a/src/main/java/com/uber/cadence/entities/CompleteWorkflowExecutionDecisionAttributes.java b/src/main/java/com/uber/cadence/entities/CompleteWorkflowExecutionDecisionAttributes.java
new file mode 100644
index 000000000..954379d49
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/CompleteWorkflowExecutionDecisionAttributes.java
@@ -0,0 +1,22 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class CompleteWorkflowExecutionDecisionAttributes {
+ private byte[] result;
+}
diff --git a/src/main/java/com/uber/cadence/entities/ContinueAsNewInitiator.java b/src/main/java/com/uber/cadence/entities/ContinueAsNewInitiator.java
new file mode 100644
index 000000000..729ed1955
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/ContinueAsNewInitiator.java
@@ -0,0 +1,22 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+/** ContinueAsNewInitiator represents the initiator of a continue-as-new workflow execution. */
+public enum ContinueAsNewInitiator {
+ Decider,
+ RetryPolicy,
+ CronSchedule
+}
diff --git a/src/main/java/com/uber/cadence/entities/ContinueAsNewWorkflowExecutionDecisionAttributes.java b/src/main/java/com/uber/cadence/entities/ContinueAsNewWorkflowExecutionDecisionAttributes.java
new file mode 100644
index 000000000..65a5d78fa
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/ContinueAsNewWorkflowExecutionDecisionAttributes.java
@@ -0,0 +1,36 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class ContinueAsNewWorkflowExecutionDecisionAttributes {
+ private WorkflowType workflowType;
+ private TaskList taskList;
+ private byte[] input;
+ private Integer executionStartToCloseTimeoutSeconds;
+ private Integer taskStartToCloseTimeoutSeconds;
+ private Integer backoffStartIntervalInSeconds;
+ private ContinueAsNewInitiator initiator;
+ private String failureReason;
+ private byte[] failureDetails;
+ private byte[] lastCompletionResult;
+ private Header header;
+ private Memo memo;
+ private SearchAttributes searchAttributes;
+ private RetryPolicy retryPolicy;
+ private String cronSchedule;
+}
diff --git a/src/main/java/com/uber/cadence/entities/CountWorkflowExecutionsRequest.java b/src/main/java/com/uber/cadence/entities/CountWorkflowExecutionsRequest.java
new file mode 100644
index 000000000..2521af358
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/CountWorkflowExecutionsRequest.java
@@ -0,0 +1,23 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class CountWorkflowExecutionsRequest {
+ private String domain;
+ private String query;
+}
diff --git a/src/main/java/com/uber/cadence/entities/CountWorkflowExecutionsResponse.java b/src/main/java/com/uber/cadence/entities/CountWorkflowExecutionsResponse.java
new file mode 100644
index 000000000..c331b347b
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/CountWorkflowExecutionsResponse.java
@@ -0,0 +1,22 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class CountWorkflowExecutionsResponse {
+ private Long count;
+}
diff --git a/src/main/java/com/uber/cadence/entities/DataBlob.java b/src/main/java/com/uber/cadence/entities/DataBlob.java
new file mode 100644
index 000000000..9b428feb8
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/DataBlob.java
@@ -0,0 +1,23 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class DataBlob {
+ private byte[] data;
+ private EncodingType encodingType;
+}
diff --git a/src/main/java/com/uber/cadence/entities/Decision.java b/src/main/java/com/uber/cadence/entities/Decision.java
new file mode 100644
index 000000000..e2bb4fd42
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/Decision.java
@@ -0,0 +1,40 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class Decision {
+ private DecisionType decisionType;
+ private ScheduleActivityTaskDecisionAttributes scheduleActivityTaskDecisionAttributes;
+ private RequestCancelActivityTaskDecisionAttributes requestCancelActivityTaskDecisionAttributes;
+ private StartTimerDecisionAttributes startTimerDecisionAttributes;
+ private CompleteWorkflowExecutionDecisionAttributes completeWorkflowExecutionDecisionAttributes;
+ private FailWorkflowExecutionDecisionAttributes failWorkflowExecutionDecisionAttributes;
+ private CancelTimerDecisionAttributes cancelTimerDecisionAttributes;
+ private CancelWorkflowExecutionDecisionAttributes cancelWorkflowExecutionDecisionAttributes;
+ private RequestCancelExternalWorkflowExecutionDecisionAttributes
+ requestCancelExternalWorkflowExecutionDecisionAttributes;
+ private RecordMarkerDecisionAttributes recordMarkerDecisionAttributes;
+ private ContinueAsNewWorkflowExecutionDecisionAttributes
+ continueAsNewWorkflowExecutionDecisionAttributes;
+ private StartChildWorkflowExecutionDecisionAttributes
+ startChildWorkflowExecutionDecisionAttributes;
+ private SignalExternalWorkflowExecutionDecisionAttributes
+ signalExternalWorkflowExecutionDecisionAttributes;
+ private UpsertWorkflowSearchAttributesDecisionAttributes
+ upsertWorkflowSearchAttributesDecisionAttributes;
+}
diff --git a/src/main/java/com/uber/cadence/entities/DecisionTaskCompletedEventAttributes.java b/src/main/java/com/uber/cadence/entities/DecisionTaskCompletedEventAttributes.java
new file mode 100644
index 000000000..1042da28c
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/DecisionTaskCompletedEventAttributes.java
@@ -0,0 +1,28 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import java.util.List;
+import lombok.Data;
+
+@Data
+public class DecisionTaskCompletedEventAttributes {
+ private Long scheduledEventId;
+ private Long startedEventId;
+ private List Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+public enum DecisionTaskFailedCause {
+ UNHANDLED_DECISION,
+ BAD_SCHEDULE_ACTIVITY_ATTRIBUTES,
+ BAD_REQUEST_CANCEL_ACTIVITY_ATTRIBUTES,
+ BAD_START_TIMER_ATTRIBUTES,
+ BAD_CANCEL_TIMER_ATTRIBUTES,
+ BAD_RECORD_MARKER_ATTRIBUTES,
+ BAD_COMPLETE_WORKFLOW_EXECUTION_ATTRIBUTES,
+ BAD_FAIL_WORKFLOW_EXECUTION_ATTRIBUTES,
+ BAD_CANCEL_WORKFLOW_EXECUTION_ATTRIBUTES,
+ BAD_REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_ATTRIBUTES,
+ BAD_CONTINUE_AS_NEW_ATTRIBUTES,
+ START_TIMER_DUPLICATE_ID,
+ RESET_STICKY_TASKLIST,
+ WORKFLOW_WORKER_UNHANDLED_FAILURE,
+ BAD_SIGNAL_WORKFLOW_EXECUTION_ATTRIBUTES,
+ BAD_START_CHILD_EXECUTION_ATTRIBUTES,
+ FORCE_CLOSE_DECISION,
+ FAILOVER_CLOSE_DECISION,
+ BAD_SIGNAL_INPUT_SIZE,
+ RESET_WORKFLOW,
+ BAD_BINARY,
+ SCHEDULE_ACTIVITY_DUPLICATE_ID,
+ BAD_SEARCH_ATTRIBUTES;
+}
diff --git a/src/main/java/com/uber/cadence/entities/DecisionTaskFailedEventAttributes.java b/src/main/java/com/uber/cadence/entities/DecisionTaskFailedEventAttributes.java
new file mode 100644
index 000000000..199758545
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/DecisionTaskFailedEventAttributes.java
@@ -0,0 +1,31 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class DecisionTaskFailedEventAttributes {
+ private Long scheduledEventId;
+ private Long startedEventId;
+ private DecisionTaskFailedCause cause;
+ private byte[] details;
+ private String identity;
+ private String reason;
+ private String baseRunId;
+ private String newRunId;
+ private Long forkEventVersion;
+ private String binaryChecksum;
+}
diff --git a/src/main/java/com/uber/cadence/entities/DecisionTaskScheduledEventAttributes.java b/src/main/java/com/uber/cadence/entities/DecisionTaskScheduledEventAttributes.java
new file mode 100644
index 000000000..4eab3af9f
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/DecisionTaskScheduledEventAttributes.java
@@ -0,0 +1,24 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class DecisionTaskScheduledEventAttributes {
+ private TaskList taskList;
+ private Integer startToCloseTimeoutSeconds;
+ private Integer attempt;
+}
diff --git a/src/main/java/com/uber/cadence/entities/DecisionTaskStartedEventAttributes.java b/src/main/java/com/uber/cadence/entities/DecisionTaskStartedEventAttributes.java
new file mode 100644
index 000000000..381591f84
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/DecisionTaskStartedEventAttributes.java
@@ -0,0 +1,24 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class DecisionTaskStartedEventAttributes {
+ private Long scheduledEventId;
+ private String identity;
+ private String requestId;
+}
diff --git a/src/main/java/com/uber/cadence/entities/DecisionTaskTimedOutCause.java b/src/main/java/com/uber/cadence/entities/DecisionTaskTimedOutCause.java
new file mode 100644
index 000000000..99bb300e6
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/DecisionTaskTimedOutCause.java
@@ -0,0 +1,20 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+public enum DecisionTaskTimedOutCause {
+ TIMEOUT,
+ RESET
+}
diff --git a/src/main/java/com/uber/cadence/entities/DecisionTaskTimedOutEventAttributes.java b/src/main/java/com/uber/cadence/entities/DecisionTaskTimedOutEventAttributes.java
new file mode 100644
index 000000000..ac62574e8
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/DecisionTaskTimedOutEventAttributes.java
@@ -0,0 +1,29 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class DecisionTaskTimedOutEventAttributes {
+ private Long scheduledEventId;
+ private Long startedEventId;
+ private TimeoutType timeoutType;
+ private String baseRunId;
+ private String newRunId;
+ private Long forkEventVersion;
+ private String reason;
+ private DecisionTaskTimedOutCause cause;
+}
diff --git a/src/main/java/com/uber/cadence/entities/DecisionType.java b/src/main/java/com/uber/cadence/entities/DecisionType.java
new file mode 100644
index 000000000..761815c31
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/DecisionType.java
@@ -0,0 +1,57 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+/** DecisionType represents the type of decision that can be made in a workflow. */
+public enum DecisionType {
+ /** Schedule an activity task. */
+ ScheduleActivityTask,
+
+ /** Request cancellation of an activity task. */
+ RequestCancelActivityTask,
+
+ /** Start a timer. */
+ StartTimer,
+
+ /** Complete the workflow execution. */
+ CompleteWorkflowExecution,
+
+ /** Fail the workflow execution. */
+ FailWorkflowExecution,
+
+ /** Cancel a timer. */
+ CancelTimer,
+
+ /** Cancel the workflow execution. */
+ CancelWorkflowExecution,
+
+ /** Request cancellation of an external workflow execution. */
+ RequestCancelExternalWorkflowExecution,
+
+ /** Record a marker in the workflow history. */
+ RecordMarker,
+
+ /** Continue the workflow execution as new. */
+ ContinueAsNewWorkflowExecution,
+
+ /** Start a child workflow execution. */
+ StartChildWorkflowExecution,
+
+ /** Signal an external workflow execution. */
+ SignalExternalWorkflowExecution,
+
+ /** Upsert workflow search attributes. */
+ UpsertWorkflowSearchAttributes
+}
diff --git a/src/main/java/com/uber/cadence/entities/DeprecateDomainRequest.java b/src/main/java/com/uber/cadence/entities/DeprecateDomainRequest.java
new file mode 100644
index 000000000..e84844bcd
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/DeprecateDomainRequest.java
@@ -0,0 +1,23 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class DeprecateDomainRequest {
+ private String name;
+ private String securityToken;
+}
diff --git a/src/main/java/com/uber/cadence/entities/DescribeDomainRequest.java b/src/main/java/com/uber/cadence/entities/DescribeDomainRequest.java
new file mode 100644
index 000000000..307397780
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/DescribeDomainRequest.java
@@ -0,0 +1,23 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class DescribeDomainRequest {
+ private String name;
+ private String uuid;
+}
diff --git a/src/main/java/com/uber/cadence/entities/DescribeDomainResponse.java b/src/main/java/com/uber/cadence/entities/DescribeDomainResponse.java
new file mode 100644
index 000000000..fcd6f8548
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/DescribeDomainResponse.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class DescribeDomainResponse {
+ private DomainInfo domainInfo;
+ private DomainConfiguration configuration;
+ private DomainReplicationConfiguration replicationConfiguration;
+ private Long failoverVersion;
+ private Boolean isGlobalDomain;
+}
diff --git a/src/main/java/com/uber/cadence/entities/DescribeTaskListRequest.java b/src/main/java/com/uber/cadence/entities/DescribeTaskListRequest.java
new file mode 100644
index 000000000..ff3bda196
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/DescribeTaskListRequest.java
@@ -0,0 +1,25 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class DescribeTaskListRequest {
+ private String domain;
+ private TaskList taskList;
+ private TaskListType taskListType;
+ private boolean includeTaskListStatus;
+}
diff --git a/src/main/java/com/uber/cadence/entities/DescribeTaskListResponse.java b/src/main/java/com/uber/cadence/entities/DescribeTaskListResponse.java
new file mode 100644
index 000000000..96d297392
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/DescribeTaskListResponse.java
@@ -0,0 +1,24 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import java.util.List;
+import lombok.Data;
+
+@Data
+public class DescribeTaskListResponse {
+ private List Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class DescribeWorkflowExecutionRequest {
+ private String domain;
+ private WorkflowExecution execution;
+}
diff --git a/src/main/java/com/uber/cadence/entities/DescribeWorkflowExecutionResponse.java b/src/main/java/com/uber/cadence/entities/DescribeWorkflowExecutionResponse.java
new file mode 100644
index 000000000..4a18e045e
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/DescribeWorkflowExecutionResponse.java
@@ -0,0 +1,27 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import java.util.List;
+import lombok.Data;
+
+@Data
+public class DescribeWorkflowExecutionResponse {
+ private WorkflowExecutionConfiguration executionConfiguration;
+ private WorkflowExecutionInfo workflowExecutionInfo;
+ private List Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class DomainConfiguration {
+ private Integer workflowExecutionRetentionPeriodInDays;
+ private Boolean emitMetric;
+ private IsolationGroupConfiguration isolationGroups;
+ private AsyncWorkflowConfiguration asyncWorkflowConfiguration;
+ private BadBinaries badBinaries;
+ private ArchivalStatus historyArchivalStatus;
+ private String historyArchivalURI;
+ private ArchivalStatus visibilityArchivalStatus;
+ private String visibilityArchivalURI;
+}
diff --git a/src/main/java/com/uber/cadence/entities/DomainInfo.java b/src/main/java/com/uber/cadence/entities/DomainInfo.java
new file mode 100644
index 000000000..167c4cfaa
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/DomainInfo.java
@@ -0,0 +1,28 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import java.util.Map;
+import lombok.Data;
+
+@Data
+public class DomainInfo {
+ private String name;
+ private DomainStatus status;
+ private String description;
+ private String ownerEmail;
+ private Map Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import java.util.List;
+import lombok.Data;
+
+@Data
+public class DomainReplicationConfiguration {
+ private String activeClusterName;
+ private List Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+/** DomainStatus represents the status of a domain. */
+public enum DomainStatus {
+ /** Domain is registered and active. */
+ REGISTERED,
+
+ /** Domain is deprecated. */
+ DEPRECATED,
+
+ /** Domain is deleted. */
+ DELETED
+}
diff --git a/src/main/java/com/uber/cadence/entities/EncodingType.java b/src/main/java/com/uber/cadence/entities/EncodingType.java
new file mode 100644
index 000000000..b0d6b2068
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/EncodingType.java
@@ -0,0 +1,20 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+public enum EncodingType {
+ ThriftRW,
+ JSON
+}
diff --git a/src/main/java/com/uber/cadence/entities/EventType.java b/src/main/java/com/uber/cadence/entities/EventType.java
new file mode 100644
index 000000000..5f671f092
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/EventType.java
@@ -0,0 +1,61 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+/** EventType represents the type of event in a workflow history. */
+public enum EventType {
+ WorkflowExecutionStarted,
+ WorkflowExecutionCompleted,
+ WorkflowExecutionFailed,
+ WorkflowExecutionTimedOut,
+ DecisionTaskScheduled,
+ DecisionTaskStarted,
+ DecisionTaskCompleted,
+ DecisionTaskTimedOut,
+ DecisionTaskFailed,
+ ActivityTaskScheduled,
+ ActivityTaskStarted,
+ ActivityTaskCompleted,
+ ActivityTaskFailed,
+ ActivityTaskTimedOut,
+ ActivityTaskCancelRequested,
+ RequestCancelActivityTaskFailed,
+ ActivityTaskCanceled,
+ TimerStarted,
+ TimerFired,
+ CancelTimerFailed,
+ TimerCanceled,
+ WorkflowExecutionCancelRequested,
+ WorkflowExecutionCanceled,
+ RequestCancelExternalWorkflowExecutionInitiated,
+ RequestCancelExternalWorkflowExecutionFailed,
+ ExternalWorkflowExecutionCancelRequested,
+ MarkerRecorded,
+ WorkflowExecutionSignaled,
+ WorkflowExecutionTerminated,
+ WorkflowExecutionContinuedAsNew,
+ StartChildWorkflowExecutionInitiated,
+ StartChildWorkflowExecutionFailed,
+ ChildWorkflowExecutionStarted,
+ ChildWorkflowExecutionCompleted,
+ ChildWorkflowExecutionFailed,
+ ChildWorkflowExecutionCanceled,
+ ChildWorkflowExecutionTimedOut,
+ ChildWorkflowExecutionTerminated,
+ SignalExternalWorkflowExecutionInitiated,
+ SignalExternalWorkflowExecutionFailed,
+ ExternalWorkflowExecutionSignaled,
+ UpsertWorkflowSearchAttributes
+}
diff --git a/src/main/java/com/uber/cadence/entities/ExternalWorkflowExecutionCancelRequestedEventAttributes.java b/src/main/java/com/uber/cadence/entities/ExternalWorkflowExecutionCancelRequestedEventAttributes.java
new file mode 100644
index 000000000..7249d5d7c
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/ExternalWorkflowExecutionCancelRequestedEventAttributes.java
@@ -0,0 +1,24 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class ExternalWorkflowExecutionCancelRequestedEventAttributes {
+ private Long initiatedEventId;
+ private String domain;
+ private WorkflowExecution workflowExecution;
+}
diff --git a/src/main/java/com/uber/cadence/entities/ExternalWorkflowExecutionSignaledEventAttributes.java b/src/main/java/com/uber/cadence/entities/ExternalWorkflowExecutionSignaledEventAttributes.java
new file mode 100644
index 000000000..3f3879eff
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/ExternalWorkflowExecutionSignaledEventAttributes.java
@@ -0,0 +1,25 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class ExternalWorkflowExecutionSignaledEventAttributes {
+ private Long initiatedEventId;
+ private String domain;
+ private WorkflowExecution workflowExecution;
+ private byte[] control;
+}
diff --git a/src/main/java/com/uber/cadence/entities/FailWorkflowExecutionDecisionAttributes.java b/src/main/java/com/uber/cadence/entities/FailWorkflowExecutionDecisionAttributes.java
new file mode 100644
index 000000000..ebb57dfca
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/FailWorkflowExecutionDecisionAttributes.java
@@ -0,0 +1,23 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class FailWorkflowExecutionDecisionAttributes {
+ private String reason;
+ private byte[] details;
+}
diff --git a/src/main/java/com/uber/cadence/entities/FailoverInfo.java b/src/main/java/com/uber/cadence/entities/FailoverInfo.java
new file mode 100644
index 000000000..63f856a33
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/FailoverInfo.java
@@ -0,0 +1,27 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import java.util.List;
+import lombok.Data;
+
+@Data
+public class FailoverInfo {
+ private Long failoverVersion;
+ private Long failoverStartTimestamp;
+ private Long failoverExpireTimestamp;
+ private Integer completedShardCount;
+ private List Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import java.util.Map;
+import lombok.Data;
+
+@Data
+public class GetSearchAttributesResponse {
+ private Map Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class GetTaskListsByDomainRequest {
+ private String domainName;
+}
diff --git a/src/main/java/com/uber/cadence/entities/GetTaskListsByDomainResponse.java b/src/main/java/com/uber/cadence/entities/GetTaskListsByDomainResponse.java
new file mode 100644
index 000000000..5970b3801
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/GetTaskListsByDomainResponse.java
@@ -0,0 +1,28 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import java.util.Map;
+import lombok.Data;
+
+/**
+ * GetTaskListsByDomainResponse contains the list of all task lists for a domain. It includes both
+ * decision task lists and activity task lists.
+ */
+@Data
+public class GetTaskListsByDomainResponse {
+ private Map Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class GetWorkflowExecutionHistoryRequest {
+ private String domain;
+ private WorkflowExecution execution;
+ private int maximumPageSize;
+ private boolean waitForNewEvent;
+ private HistoryEventFilterType HistoryEventFilterType;
+ private boolean skipArchival;
+ private byte[] nextPageToken;
+}
diff --git a/src/main/java/com/uber/cadence/entities/GetWorkflowExecutionHistoryResponse.java b/src/main/java/com/uber/cadence/entities/GetWorkflowExecutionHistoryResponse.java
new file mode 100644
index 000000000..6d988433a
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/GetWorkflowExecutionHistoryResponse.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import java.util.List;
+import lombok.Data;
+
+@Data
+public class GetWorkflowExecutionHistoryResponse {
+ private History history;
+ private List Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import java.nio.ByteBuffer;
+import java.util.Map;
+import lombok.Data;
+
+@Data
+public class Header {
+ private Map Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import java.util.List;
+import lombok.Data;
+
+@Data
+public class History {
+ private List Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import java.util.List;
+import lombok.Data;
+
+@Data
+public class HistoryBranch {
+ private String treeId;
+ private String branchId;
+ private List Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class HistoryBranchRange {
+ private Long beginNodeId;
+ private Long endNodeId;
+}
diff --git a/src/main/java/com/uber/cadence/entities/HistoryEvent.java b/src/main/java/com/uber/cadence/entities/HistoryEvent.java
new file mode 100644
index 000000000..4776f24d2
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/HistoryEvent.java
@@ -0,0 +1,84 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class HistoryEvent {
+ private Long eventId;
+ private Long timestamp;
+ private EventType eventType;
+ private Long version;
+ private Long taskId;
+ private WorkflowExecutionStartedEventAttributes workflowExecutionStartedEventAttributes;
+ private WorkflowExecutionCompletedEventAttributes workflowExecutionCompletedEventAttributes;
+ private WorkflowExecutionFailedEventAttributes workflowExecutionFailedEventAttributes;
+ private WorkflowExecutionTimedOutEventAttributes workflowExecutionTimedOutEventAttributes;
+ private DecisionTaskScheduledEventAttributes decisionTaskScheduledEventAttributes;
+ private DecisionTaskStartedEventAttributes decisionTaskStartedEventAttributes;
+ private DecisionTaskCompletedEventAttributes decisionTaskCompletedEventAttributes;
+ private DecisionTaskTimedOutEventAttributes decisionTaskTimedOutEventAttributes;
+ private DecisionTaskFailedEventAttributes decisionTaskFailedEventAttributes;
+ private ActivityTaskScheduledEventAttributes activityTaskScheduledEventAttributes;
+ private ActivityTaskStartedEventAttributes activityTaskStartedEventAttributes;
+ private ActivityTaskCompletedEventAttributes activityTaskCompletedEventAttributes;
+ private ActivityTaskFailedEventAttributes activityTaskFailedEventAttributes;
+ private ActivityTaskTimedOutEventAttributes activityTaskTimedOutEventAttributes;
+ private TimerStartedEventAttributes timerStartedEventAttributes;
+ private TimerFiredEventAttributes timerFiredEventAttributes;
+ private ActivityTaskCancelRequestedEventAttributes activityTaskCancelRequestedEventAttributes;
+ private RequestCancelActivityTaskFailedEventAttributes
+ requestCancelActivityTaskFailedEventAttributes;
+ private ActivityTaskCanceledEventAttributes activityTaskCanceledEventAttributes;
+ private TimerCanceledEventAttributes timerCanceledEventAttributes;
+ private CancelTimerFailedEventAttributes cancelTimerFailedEventAttributes;
+ private MarkerRecordedEventAttributes markerRecordedEventAttributes;
+ private WorkflowExecutionSignaledEventAttributes workflowExecutionSignaledEventAttributes;
+ private WorkflowExecutionTerminatedEventAttributes workflowExecutionTerminatedEventAttributes;
+ private WorkflowExecutionCancelRequestedEventAttributes
+ workflowExecutionCancelRequestedEventAttributes;
+ private WorkflowExecutionCanceledEventAttributes workflowExecutionCanceledEventAttributes;
+ private RequestCancelExternalWorkflowExecutionInitiatedEventAttributes
+ requestCancelExternalWorkflowExecutionInitiatedEventAttributes;
+ private RequestCancelExternalWorkflowExecutionFailedEventAttributes
+ requestCancelExternalWorkflowExecutionFailedEventAttributes;
+ private ExternalWorkflowExecutionCancelRequestedEventAttributes
+ externalWorkflowExecutionCancelRequestedEventAttributes;
+ private WorkflowExecutionContinuedAsNewEventAttributes
+ workflowExecutionContinuedAsNewEventAttributes;
+ private StartChildWorkflowExecutionInitiatedEventAttributes
+ startChildWorkflowExecutionInitiatedEventAttributes;
+ private StartChildWorkflowExecutionFailedEventAttributes
+ startChildWorkflowExecutionFailedEventAttributes;
+ private ChildWorkflowExecutionStartedEventAttributes childWorkflowExecutionStartedEventAttributes;
+ private ChildWorkflowExecutionCompletedEventAttributes
+ childWorkflowExecutionCompletedEventAttributes;
+ private ChildWorkflowExecutionFailedEventAttributes childWorkflowExecutionFailedEventAttributes;
+ private ChildWorkflowExecutionCanceledEventAttributes
+ childWorkflowExecutionCanceledEventAttributes;
+ private ChildWorkflowExecutionTimedOutEventAttributes
+ childWorkflowExecutionTimedOutEventAttributes;
+ private ChildWorkflowExecutionTerminatedEventAttributes
+ childWorkflowExecutionTerminatedEventAttributes;
+ private SignalExternalWorkflowExecutionInitiatedEventAttributes
+ signalExternalWorkflowExecutionInitiatedEventAttributes;
+ private SignalExternalWorkflowExecutionFailedEventAttributes
+ signalExternalWorkflowExecutionFailedEventAttributes;
+ private ExternalWorkflowExecutionSignaledEventAttributes
+ externalWorkflowExecutionSignaledEventAttributes;
+ private UpsertWorkflowSearchAttributesEventAttributes
+ upsertWorkflowSearchAttributesEventAttributes;
+}
diff --git a/src/main/java/com/uber/cadence/entities/HistoryEventFilterType.java b/src/main/java/com/uber/cadence/entities/HistoryEventFilterType.java
new file mode 100644
index 000000000..9147fb7ee
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/HistoryEventFilterType.java
@@ -0,0 +1,20 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+public enum HistoryEventFilterType {
+ ALL_EVENT,
+ CLOSE_EVENT
+}
diff --git a/src/main/java/com/uber/cadence/entities/IndexedValueType.java b/src/main/java/com/uber/cadence/entities/IndexedValueType.java
new file mode 100644
index 000000000..147c9b12d
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/IndexedValueType.java
@@ -0,0 +1,25 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+public enum IndexedValueType {
+ STRING,
+ KEYWORD,
+ INT,
+ DOUBLE,
+ BOOL,
+ DATETIME,
+ KEYWORD_LIST
+}
diff --git a/src/main/java/com/uber/cadence/entities/IsolationGroupConfiguration.java b/src/main/java/com/uber/cadence/entities/IsolationGroupConfiguration.java
new file mode 100644
index 000000000..e3be6e275
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/IsolationGroupConfiguration.java
@@ -0,0 +1,23 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import java.util.List;
+import lombok.Data;
+
+@Data
+public class IsolationGroupConfiguration {
+ private List Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class IsolationGroupPartition {
+ private String name;
+ private Integer percentage;
+}
diff --git a/src/main/java/com/uber/cadence/entities/ListArchivedWorkflowExecutionsRequest.java b/src/main/java/com/uber/cadence/entities/ListArchivedWorkflowExecutionsRequest.java
new file mode 100644
index 000000000..fbb4995c8
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/ListArchivedWorkflowExecutionsRequest.java
@@ -0,0 +1,25 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class ListArchivedWorkflowExecutionsRequest {
+ private String domain;
+ private Integer pageSize;
+ private byte[] nextPageToken;
+ private String query;
+}
diff --git a/src/main/java/com/uber/cadence/entities/ListArchivedWorkflowExecutionsResponse.java b/src/main/java/com/uber/cadence/entities/ListArchivedWorkflowExecutionsResponse.java
new file mode 100644
index 000000000..ccaab574a
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/ListArchivedWorkflowExecutionsResponse.java
@@ -0,0 +1,24 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import java.util.List;
+import lombok.Data;
+
+@Data
+public class ListArchivedWorkflowExecutionsResponse {
+ private List Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class ListClosedWorkflowExecutionsRequest {
+ private String domain;
+ private int maximumPageSize;
+ private WorkflowExecutionFilter executionFilter;
+ private WorkflowTypeFilter typeFilter;
+ private WorkflowExecutionCloseStatus statusFilter;
+ private byte[] nextPageToken;
+ private StartTimeFilter startTimeFilter;
+}
diff --git a/src/main/java/com/uber/cadence/entities/ListClosedWorkflowExecutionsResponse.java b/src/main/java/com/uber/cadence/entities/ListClosedWorkflowExecutionsResponse.java
new file mode 100644
index 000000000..ae1a2e236
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/ListClosedWorkflowExecutionsResponse.java
@@ -0,0 +1,24 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import java.util.List;
+import lombok.Data;
+
+@Data
+public class ListClosedWorkflowExecutionsResponse {
+ private List Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class ListDomainsRequest {
+ private int pageSize;
+ private byte[] nextPageToken;
+}
diff --git a/src/main/java/com/uber/cadence/entities/ListDomainsResponse.java b/src/main/java/com/uber/cadence/entities/ListDomainsResponse.java
new file mode 100644
index 000000000..59a9b6599
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/ListDomainsResponse.java
@@ -0,0 +1,24 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import java.util.List;
+import lombok.Data;
+
+@Data
+public class ListDomainsResponse {
+ private List Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class ListOpenWorkflowExecutionsRequest {
+ private String domain;
+ private int maximumPageSize;
+ private WorkflowExecutionFilter executionFilter;
+ private WorkflowTypeFilter typeFilter;
+ private byte[] nextPageToken;
+ private StartTimeFilter startTimeFilter;
+}
diff --git a/src/main/java/com/uber/cadence/entities/ListOpenWorkflowExecutionsResponse.java b/src/main/java/com/uber/cadence/entities/ListOpenWorkflowExecutionsResponse.java
new file mode 100644
index 000000000..2dd52bb65
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/ListOpenWorkflowExecutionsResponse.java
@@ -0,0 +1,24 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import java.util.List;
+import lombok.Data;
+
+@Data
+public class ListOpenWorkflowExecutionsResponse {
+ private List Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class ListTaskListPartitionsRequest {
+ private String domain;
+ private TaskList taskList;
+}
diff --git a/src/main/java/com/uber/cadence/entities/ListTaskListPartitionsResponse.java b/src/main/java/com/uber/cadence/entities/ListTaskListPartitionsResponse.java
new file mode 100644
index 000000000..53aecbe47
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/ListTaskListPartitionsResponse.java
@@ -0,0 +1,24 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import java.util.List;
+import lombok.Data;
+
+@Data
+public class ListTaskListPartitionsResponse {
+ private List Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class ListWorkflowExecutionsRequest {
+ private String domain;
+ private int pageSize;
+ private byte[] nextPageToken;
+ private String query;
+}
diff --git a/src/main/java/com/uber/cadence/entities/ListWorkflowExecutionsResponse.java b/src/main/java/com/uber/cadence/entities/ListWorkflowExecutionsResponse.java
new file mode 100644
index 000000000..6e7d3e62d
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/ListWorkflowExecutionsResponse.java
@@ -0,0 +1,24 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import java.util.List;
+import lombok.Data;
+
+@Data
+public class ListWorkflowExecutionsResponse {
+ private List Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class MarkerRecordedEventAttributes {
+ private String markerName;
+ private byte[] details;
+ private Long decisionTaskCompletedEventId;
+ private Header header;
+}
diff --git a/src/main/java/com/uber/cadence/entities/Memo.java b/src/main/java/com/uber/cadence/entities/Memo.java
new file mode 100644
index 000000000..cee55a8ca
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/Memo.java
@@ -0,0 +1,24 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import java.nio.ByteBuffer;
+import java.util.Map;
+import lombok.Data;
+
+@Data
+public class Memo {
+ private Map Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+/**
+ * ParentClosePolicy represents the policy for handling child workflows when the parent workflow is
+ * closed.
+ */
+public enum ParentClosePolicy {
+ /** Abandon the child workflow when parent is closed. */
+ ABANDON,
+
+ /** Request cancellation of the child workflow when parent is closed. */
+ REQUEST_CANCEL,
+
+ /** Terminate the child workflow when parent is closed. */
+ TERMINATE
+}
diff --git a/src/main/java/com/uber/cadence/entities/PendingActivityInfo.java b/src/main/java/com/uber/cadence/entities/PendingActivityInfo.java
new file mode 100644
index 000000000..978de297e
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/PendingActivityInfo.java
@@ -0,0 +1,35 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class PendingActivityInfo {
+ private String activityID;
+ private ActivityType activityType;
+ private PendingActivityState state;
+ private byte[] heartbeatDetails;
+ private Long lastHeartbeatTimestamp;
+ private Long lastStartedTimestamp;
+ private int attempt;
+ private int maximumAttempts;
+ private Long scheduledTimestamp;
+ private Long expirationTimestamp;
+ private String lastFailureReason;
+ private String lastWorkerIdentity;
+ private byte[] lastFailureDetails;
+ private String startedWorkerIdentity;
+}
diff --git a/src/main/java/com/uber/cadence/entities/PendingActivityState.java b/src/main/java/com/uber/cadence/entities/PendingActivityState.java
new file mode 100644
index 000000000..166041e61
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/PendingActivityState.java
@@ -0,0 +1,21 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+public enum PendingActivityState {
+ SCHEDULED,
+ STARTED,
+ CANCEL_REQUESTED
+}
diff --git a/src/main/java/com/uber/cadence/entities/PendingChildExecutionInfo.java b/src/main/java/com/uber/cadence/entities/PendingChildExecutionInfo.java
new file mode 100644
index 000000000..af4f12846
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/PendingChildExecutionInfo.java
@@ -0,0 +1,27 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class PendingChildExecutionInfo {
+ private String domain;
+ private String workflowID;
+ private String runID;
+ private String workflowTypName;
+ private Long initiatedID;
+ private ParentClosePolicy parentClosePolicy;
+}
diff --git a/src/main/java/com/uber/cadence/entities/PendingDecisionInfo.java b/src/main/java/com/uber/cadence/entities/PendingDecisionInfo.java
new file mode 100644
index 000000000..0fd22fde8
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/PendingDecisionInfo.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class PendingDecisionInfo {
+ private PendingDecisionState state;
+ private Long scheduledTimestamp;
+ private Long startedTimestamp;
+ private Integer attempt;
+ private Long originalScheduledTimestamp;
+}
diff --git a/src/main/java/com/uber/cadence/entities/PendingDecisionState.java b/src/main/java/com/uber/cadence/entities/PendingDecisionState.java
new file mode 100644
index 000000000..cbec1e8cb
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/PendingDecisionState.java
@@ -0,0 +1,20 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+public enum PendingDecisionState {
+ SCHEDULED,
+ STARTED
+}
diff --git a/src/main/java/com/uber/cadence/entities/PollForActivityTaskRequest.java b/src/main/java/com/uber/cadence/entities/PollForActivityTaskRequest.java
new file mode 100644
index 000000000..7b91c9ba0
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/PollForActivityTaskRequest.java
@@ -0,0 +1,25 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class PollForActivityTaskRequest {
+ private String domain;
+ private TaskList taskList;
+ private TaskListMetadata taskListMetadata;
+ private String identity;
+}
diff --git a/src/main/java/com/uber/cadence/entities/PollForActivityTaskResponse.java b/src/main/java/com/uber/cadence/entities/PollForActivityTaskResponse.java
new file mode 100644
index 000000000..0352a07b8
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/PollForActivityTaskResponse.java
@@ -0,0 +1,37 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class PollForActivityTaskResponse {
+ private byte[] taskToken;
+ private WorkflowExecution workflowExecution;
+ private String activityId;
+ private ActivityType activityType;
+ private byte[] input;
+ private Long scheduledTimestamp;
+ private Long startedTimestamp;
+ private int scheduleToCloseTimeoutSeconds;
+ private int startToCloseTimeoutSeconds;
+ private int heartbeatTimeoutSeconds;
+ private int attempt;
+ private Long scheduledTimestampOfThisAttempt;
+ private byte[] heartbeatDetails;
+ private WorkflowType workflowType;
+ private String workflowDomain;
+ private Header header;
+}
diff --git a/src/main/java/com/uber/cadence/entities/PollForDecisionTaskRequest.java b/src/main/java/com/uber/cadence/entities/PollForDecisionTaskRequest.java
new file mode 100644
index 000000000..02722bcec
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/PollForDecisionTaskRequest.java
@@ -0,0 +1,25 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class PollForDecisionTaskRequest {
+ private String domain;
+ private TaskList taskList;
+ private String binaryChecksum;
+ private String identity;
+}
diff --git a/src/main/java/com/uber/cadence/entities/PollForDecisionTaskResponse.java b/src/main/java/com/uber/cadence/entities/PollForDecisionTaskResponse.java
new file mode 100644
index 000000000..d21599c1e
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/PollForDecisionTaskResponse.java
@@ -0,0 +1,37 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import java.util.Map;
+import lombok.Data;
+
+@Data
+public class PollForDecisionTaskResponse {
+ private byte[] taskToken;
+ private WorkflowExecution workflowExecution;
+ private WorkflowType workflowType;
+ private Long previousStartedEventId;
+ private Long startedEventId;
+ private Long attempt;
+ private Long backlogCountHint;
+ private History history;
+ private byte[] nextPageToken;
+ private WorkflowQuery query;
+ private TaskList workflowExecutionTaskList;
+ private Long scheduledTimestamp;
+ private Long startedTimestamp;
+ private Map Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class PollerInfo {
+ private Long lastAccessTime;
+ private String identity;
+ private double ratePerSecond;
+}
diff --git a/src/main/java/com/uber/cadence/entities/QueryConsistencyLevel.java b/src/main/java/com/uber/cadence/entities/QueryConsistencyLevel.java
new file mode 100644
index 000000000..66ad43594
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/QueryConsistencyLevel.java
@@ -0,0 +1,20 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+public enum QueryConsistencyLevel {
+ EVENTUAL,
+ STRONG
+}
diff --git a/src/main/java/com/uber/cadence/entities/QueryRejectCondition.java b/src/main/java/com/uber/cadence/entities/QueryRejectCondition.java
new file mode 100644
index 000000000..fba808c0e
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/QueryRejectCondition.java
@@ -0,0 +1,20 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+public enum QueryRejectCondition {
+ NOT_OPEN,
+ NOT_COMPLETED_CLEANLY
+}
diff --git a/src/main/java/com/uber/cadence/entities/QueryRejected.java b/src/main/java/com/uber/cadence/entities/QueryRejected.java
new file mode 100644
index 000000000..f565f000c
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/QueryRejected.java
@@ -0,0 +1,22 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class QueryRejected {
+ private WorkflowExecutionCloseStatus closeStatus;
+}
diff --git a/src/main/java/com/uber/cadence/entities/QueryResultType.java b/src/main/java/com/uber/cadence/entities/QueryResultType.java
new file mode 100644
index 000000000..927faf0aa
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/QueryResultType.java
@@ -0,0 +1,20 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+public enum QueryResultType {
+ ANSWERED,
+ FAILED
+}
diff --git a/src/main/java/com/uber/cadence/entities/QueryTaskCompletedType.java b/src/main/java/com/uber/cadence/entities/QueryTaskCompletedType.java
new file mode 100644
index 000000000..941a01c1a
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/QueryTaskCompletedType.java
@@ -0,0 +1,27 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+/** QueryTaskCompletedType represents the type of completion for a query task. */
+public enum QueryTaskCompletedType {
+ /** Query task completed successfully. */
+ COMPLETED,
+
+ /** Query task failed. */
+ FAILED,
+
+ /** Query task was rejected. */
+ REJECTED
+}
diff --git a/src/main/java/com/uber/cadence/entities/QueryWorkflowRequest.java b/src/main/java/com/uber/cadence/entities/QueryWorkflowRequest.java
new file mode 100644
index 000000000..2295a06ef
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/QueryWorkflowRequest.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class QueryWorkflowRequest {
+ private String domain;
+ private WorkflowExecution execution;
+ private WorkflowQuery query;
+ private QueryRejectCondition queryRejectCondition;
+ private QueryConsistencyLevel queryConsistencyLevel;
+}
diff --git a/src/main/java/com/uber/cadence/entities/QueryWorkflowResponse.java b/src/main/java/com/uber/cadence/entities/QueryWorkflowResponse.java
new file mode 100644
index 000000000..3a2d265a6
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/QueryWorkflowResponse.java
@@ -0,0 +1,23 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class QueryWorkflowResponse {
+ private byte[] queryResult;
+ private QueryRejected queryRejected;
+}
diff --git a/src/main/java/com/uber/cadence/entities/RecordActivityTaskHeartbeatByIDRequest.java b/src/main/java/com/uber/cadence/entities/RecordActivityTaskHeartbeatByIDRequest.java
new file mode 100644
index 000000000..ec41ff0d1
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/RecordActivityTaskHeartbeatByIDRequest.java
@@ -0,0 +1,27 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class RecordActivityTaskHeartbeatByIDRequest {
+ private String domain;
+ private String workflowID;
+ private String runID;
+ private String activityID;
+ private byte[] details;
+ private String identity;
+}
diff --git a/src/main/java/com/uber/cadence/entities/RecordActivityTaskHeartbeatRequest.java b/src/main/java/com/uber/cadence/entities/RecordActivityTaskHeartbeatRequest.java
new file mode 100644
index 000000000..1b0e936a6
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/RecordActivityTaskHeartbeatRequest.java
@@ -0,0 +1,24 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class RecordActivityTaskHeartbeatRequest {
+ private byte[] taskToken;
+ private byte[] details;
+ private String identity;
+}
diff --git a/src/main/java/com/uber/cadence/entities/RecordActivityTaskHeartbeatResponse.java b/src/main/java/com/uber/cadence/entities/RecordActivityTaskHeartbeatResponse.java
new file mode 100644
index 000000000..dba1fc543
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/RecordActivityTaskHeartbeatResponse.java
@@ -0,0 +1,22 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class RecordActivityTaskHeartbeatResponse {
+ private boolean cancelRequested;
+}
diff --git a/src/main/java/com/uber/cadence/entities/RecordMarkerDecisionAttributes.java b/src/main/java/com/uber/cadence/entities/RecordMarkerDecisionAttributes.java
new file mode 100644
index 000000000..263f8c5b0
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/RecordMarkerDecisionAttributes.java
@@ -0,0 +1,24 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class RecordMarkerDecisionAttributes {
+ private String markerName;
+ private byte[] details;
+ private Header header;
+}
diff --git a/src/main/java/com/uber/cadence/entities/RefreshWorkflowTasksRequest.java b/src/main/java/com/uber/cadence/entities/RefreshWorkflowTasksRequest.java
new file mode 100644
index 000000000..67b5bc53a
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/RefreshWorkflowTasksRequest.java
@@ -0,0 +1,24 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+/** RefreshWorkflowTasksRequest is used to refresh all tasks of a workflow. */
+@Data
+public class RefreshWorkflowTasksRequest {
+ private String domain;
+ private WorkflowExecution execution;
+}
diff --git a/src/main/java/com/uber/cadence/entities/RegisterDomainRequest.java b/src/main/java/com/uber/cadence/entities/RegisterDomainRequest.java
new file mode 100644
index 000000000..70c566efe
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/RegisterDomainRequest.java
@@ -0,0 +1,36 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import java.util.List;
+import java.util.Map;
+import lombok.Data;
+
+@Data
+public class RegisterDomainRequest {
+ private String name;
+ private String description;
+ private String ownerEmail;
+ private int workflowExecutionRetentionPeriodInDays;
+ private List Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class RequestCancelActivityTaskDecisionAttributes {
+ private String activityId;
+}
diff --git a/src/main/java/com/uber/cadence/entities/RequestCancelActivityTaskFailedEventAttributes.java b/src/main/java/com/uber/cadence/entities/RequestCancelActivityTaskFailedEventAttributes.java
new file mode 100644
index 000000000..a6eda71c2
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/RequestCancelActivityTaskFailedEventAttributes.java
@@ -0,0 +1,24 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class RequestCancelActivityTaskFailedEventAttributes {
+ private String activityId;
+ private String cause;
+ private Long decisionTaskCompletedEventId;
+}
diff --git a/src/main/java/com/uber/cadence/entities/RequestCancelExternalWorkflowExecutionDecisionAttributes.java b/src/main/java/com/uber/cadence/entities/RequestCancelExternalWorkflowExecutionDecisionAttributes.java
new file mode 100644
index 000000000..50392bbd0
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/RequestCancelExternalWorkflowExecutionDecisionAttributes.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class RequestCancelExternalWorkflowExecutionDecisionAttributes {
+ private String domain;
+ private String workflowId;
+ private String runId;
+ private boolean childWorkflowOnly;
+ private byte[] control;
+}
diff --git a/src/main/java/com/uber/cadence/entities/RequestCancelExternalWorkflowExecutionFailedEventAttributes.java b/src/main/java/com/uber/cadence/entities/RequestCancelExternalWorkflowExecutionFailedEventAttributes.java
new file mode 100644
index 000000000..f4d5261a3
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/RequestCancelExternalWorkflowExecutionFailedEventAttributes.java
@@ -0,0 +1,27 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class RequestCancelExternalWorkflowExecutionFailedEventAttributes {
+ private Long decisionTaskCompletedEventId;
+ private String domain;
+ private WorkflowExecution workflowExecution;
+ private Long initiatedEventId;
+ private CancelExternalWorkflowExecutionFailedCause cause;
+ private byte[] control;
+}
diff --git a/src/main/java/com/uber/cadence/entities/RequestCancelExternalWorkflowExecutionInitiatedEventAttributes.java b/src/main/java/com/uber/cadence/entities/RequestCancelExternalWorkflowExecutionInitiatedEventAttributes.java
new file mode 100644
index 000000000..bbf5220b2
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/RequestCancelExternalWorkflowExecutionInitiatedEventAttributes.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class RequestCancelExternalWorkflowExecutionInitiatedEventAttributes {
+ private Long decisionTaskCompletedEventId;
+ private String domain;
+ private WorkflowExecution workflowExecution;
+ private boolean childWorkflowOnly;
+ private byte[] control;
+}
diff --git a/src/main/java/com/uber/cadence/entities/RequestCancelWorkflowExecutionRequest.java b/src/main/java/com/uber/cadence/entities/RequestCancelWorkflowExecutionRequest.java
new file mode 100644
index 000000000..ff9eadb0f
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/RequestCancelWorkflowExecutionRequest.java
@@ -0,0 +1,25 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class RequestCancelWorkflowExecutionRequest {
+ private String domain;
+ private WorkflowExecution workflowExecution;
+ private String requestId;
+ private String identity;
+}
diff --git a/src/main/java/com/uber/cadence/entities/ResetPointInfo.java b/src/main/java/com/uber/cadence/entities/ResetPointInfo.java
new file mode 100644
index 000000000..79d5571b8
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/ResetPointInfo.java
@@ -0,0 +1,27 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class ResetPointInfo {
+ private String binaryChecksum;
+ private String runId;
+ private Long firstDecisionCompletedId;
+ private Long createdTimeNano;
+ private Long expiringTimeNano;
+ private boolean resettable;
+}
diff --git a/src/main/java/com/uber/cadence/entities/ResetPoints.java b/src/main/java/com/uber/cadence/entities/ResetPoints.java
new file mode 100644
index 000000000..9029b76c0
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/ResetPoints.java
@@ -0,0 +1,23 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import java.util.List;
+import lombok.Data;
+
+@Data
+public class ResetPoints {
+ private List Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class ResetStickyTaskListRequest {
+ private String domain;
+ private WorkflowExecution execution;
+}
diff --git a/src/main/java/com/uber/cadence/entities/ResetStickyTaskListResponse.java b/src/main/java/com/uber/cadence/entities/ResetStickyTaskListResponse.java
new file mode 100644
index 000000000..1aa7d1ef8
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/ResetStickyTaskListResponse.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+/**
+ * ResetStickyTaskListResponse is the response for resetting a sticky task list. This is a simple
+ * acknowledgment response that indicates the reset operation was successful.
+ */
+@Data
+public class ResetStickyTaskListResponse {
+ // Empty response as it's just an acknowledgment
+}
diff --git a/src/main/java/com/uber/cadence/entities/ResetWorkflowExecutionRequest.java b/src/main/java/com/uber/cadence/entities/ResetWorkflowExecutionRequest.java
new file mode 100644
index 000000000..ac7967f4d
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/ResetWorkflowExecutionRequest.java
@@ -0,0 +1,27 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class ResetWorkflowExecutionRequest {
+ private String domain;
+ private WorkflowExecution workflowExecution;
+ private String reason;
+ private Long decisionFinishEventId;
+ private String requestId;
+ private boolean skipSignalReapply;
+}
diff --git a/src/main/java/com/uber/cadence/entities/ResetWorkflowExecutionResponse.java b/src/main/java/com/uber/cadence/entities/ResetWorkflowExecutionResponse.java
new file mode 100644
index 000000000..16e997bad
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/ResetWorkflowExecutionResponse.java
@@ -0,0 +1,22 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class ResetWorkflowExecutionResponse {
+ private String runId;
+}
diff --git a/src/main/java/com/uber/cadence/entities/RespondActivityTaskCanceledByIDRequest.java b/src/main/java/com/uber/cadence/entities/RespondActivityTaskCanceledByIDRequest.java
new file mode 100644
index 000000000..7c2c11d95
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/RespondActivityTaskCanceledByIDRequest.java
@@ -0,0 +1,27 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class RespondActivityTaskCanceledByIDRequest {
+ private String domain;
+ private String workflowID;
+ private String runID;
+ private String activityID;
+ private byte[] details;
+ private String identity;
+}
diff --git a/src/main/java/com/uber/cadence/entities/RespondActivityTaskCanceledRequest.java b/src/main/java/com/uber/cadence/entities/RespondActivityTaskCanceledRequest.java
new file mode 100644
index 000000000..529375289
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/RespondActivityTaskCanceledRequest.java
@@ -0,0 +1,24 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class RespondActivityTaskCanceledRequest {
+ private byte[] taskToken;
+ private byte[] details;
+ private String identity;
+}
diff --git a/src/main/java/com/uber/cadence/entities/RespondActivityTaskCompletedByIDRequest.java b/src/main/java/com/uber/cadence/entities/RespondActivityTaskCompletedByIDRequest.java
new file mode 100644
index 000000000..b122116ab
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/RespondActivityTaskCompletedByIDRequest.java
@@ -0,0 +1,27 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class RespondActivityTaskCompletedByIDRequest {
+ private String domain;
+ private String workflowID;
+ private String runID;
+ private String activityID;
+ private byte[] result;
+ private String identity;
+}
diff --git a/src/main/java/com/uber/cadence/entities/RespondActivityTaskCompletedRequest.java b/src/main/java/com/uber/cadence/entities/RespondActivityTaskCompletedRequest.java
new file mode 100644
index 000000000..cd417bd49
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/RespondActivityTaskCompletedRequest.java
@@ -0,0 +1,24 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class RespondActivityTaskCompletedRequest {
+ private byte[] taskToken;
+ private byte[] result;
+ private String identity;
+}
diff --git a/src/main/java/com/uber/cadence/entities/RespondActivityTaskFailedByIDRequest.java b/src/main/java/com/uber/cadence/entities/RespondActivityTaskFailedByIDRequest.java
new file mode 100644
index 000000000..f30f913f1
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/RespondActivityTaskFailedByIDRequest.java
@@ -0,0 +1,28 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class RespondActivityTaskFailedByIDRequest {
+ private String domain;
+ private String workflowID;
+ private String runID;
+ private String activityID;
+ private String reason;
+ private byte[] details;
+ private String identity;
+}
diff --git a/src/main/java/com/uber/cadence/entities/RespondActivityTaskFailedRequest.java b/src/main/java/com/uber/cadence/entities/RespondActivityTaskFailedRequest.java
new file mode 100644
index 000000000..cb41aa627
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/RespondActivityTaskFailedRequest.java
@@ -0,0 +1,25 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class RespondActivityTaskFailedRequest {
+ private byte[] taskToken;
+ private String reason;
+ private byte[] details;
+ private String identity;
+}
diff --git a/src/main/java/com/uber/cadence/entities/RespondDecisionTaskCompletedRequest.java b/src/main/java/com/uber/cadence/entities/RespondDecisionTaskCompletedRequest.java
new file mode 100644
index 000000000..ddc28dc21
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/RespondDecisionTaskCompletedRequest.java
@@ -0,0 +1,32 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import java.util.List;
+import java.util.Map;
+import lombok.Data;
+
+@Data
+public class RespondDecisionTaskCompletedRequest {
+ private byte[] taskToken;
+ private List Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import java.util.Map;
+import lombok.Data;
+
+@Data
+public class RespondDecisionTaskCompletedResponse {
+ private PollForDecisionTaskResponse decisionTask;
+ private Map Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class RespondDecisionTaskFailedRequest {
+ private byte[] taskToken;
+ private DecisionTaskFailedCause cause;
+ private byte[] details;
+ private String binaryChecksum;
+ private String identity;
+}
diff --git a/src/main/java/com/uber/cadence/entities/RespondQueryTaskCompletedRequest.java b/src/main/java/com/uber/cadence/entities/RespondQueryTaskCompletedRequest.java
new file mode 100644
index 000000000..57efd1075
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/RespondQueryTaskCompletedRequest.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class RespondQueryTaskCompletedRequest {
+ private byte[] taskToken;
+ private QueryTaskCompletedType completedType;
+ private byte[] queryResult;
+ private String errorMessage;
+ private WorkerVersionInfo workerVersionInfo;
+}
diff --git a/src/main/java/com/uber/cadence/entities/RestartWorkflowExecutionRequest.java b/src/main/java/com/uber/cadence/entities/RestartWorkflowExecutionRequest.java
new file mode 100644
index 000000000..0f35052e0
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/RestartWorkflowExecutionRequest.java
@@ -0,0 +1,29 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+/**
+ * RestartWorkflowExecutionRequest is used to restart a previous workflow. If the workflow is
+ * currently running it will terminate and restart.
+ */
+@Data
+public class RestartWorkflowExecutionRequest {
+ private String domain;
+ private WorkflowExecution workflowExecution;
+ private String reason;
+ private String identity;
+}
diff --git a/src/main/java/com/uber/cadence/entities/RestartWorkflowExecutionResponse.java b/src/main/java/com/uber/cadence/entities/RestartWorkflowExecutionResponse.java
new file mode 100644
index 000000000..bac6360ea
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/RestartWorkflowExecutionResponse.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+/**
+ * RestartWorkflowExecutionResponse is the response for restarting a workflow execution. This is a
+ * simple acknowledgment response that indicates the restart operation was successful.
+ */
+@Data
+public class RestartWorkflowExecutionResponse {
+ private String runId;
+}
diff --git a/src/main/java/com/uber/cadence/entities/RetryPolicy.java b/src/main/java/com/uber/cadence/entities/RetryPolicy.java
new file mode 100644
index 000000000..9606fe111
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/RetryPolicy.java
@@ -0,0 +1,28 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import java.util.List;
+import lombok.Data;
+
+@Data
+public class RetryPolicy {
+ private int initialIntervalInSeconds;
+ private double backoffCoefficient;
+ private int maximumIntervalInSeconds;
+ private int maximumAttempts;
+ private int expirationIntervalInSeconds;
+ private List Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class ScheduleActivityTaskDecisionAttributes {
+ private ActivityType activityType;
+ private String activityId;
+ private String domain;
+ private TaskList taskList;
+ private byte[] input;
+ private Integer scheduleToCloseTimeoutSeconds;
+ private Integer scheduleToStartTimeoutSeconds;
+ private Integer startToCloseTimeoutSeconds;
+ private Integer heartbeatTimeoutSeconds;
+ private RetryPolicy retryPolicy;
+ private Header header;
+ private boolean requestLocalDispatch;
+}
diff --git a/src/main/java/com/uber/cadence/entities/SearchAttributes.java b/src/main/java/com/uber/cadence/entities/SearchAttributes.java
new file mode 100644
index 000000000..cdacce375
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/SearchAttributes.java
@@ -0,0 +1,24 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import java.nio.ByteBuffer;
+import java.util.Map;
+import lombok.Data;
+
+@Data
+public class SearchAttributes {
+ private Map Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class SignalExternalWorkflowExecutionDecisionAttributes {
+ private String domain;
+ private WorkflowExecution execution;
+ private String signalName;
+ private byte[] input;
+ private boolean childWorkflowOnly;
+ private byte[] control;
+}
diff --git a/src/main/java/com/uber/cadence/entities/SignalExternalWorkflowExecutionFailedCause.java b/src/main/java/com/uber/cadence/entities/SignalExternalWorkflowExecutionFailedCause.java
new file mode 100644
index 000000000..ce451b568
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/SignalExternalWorkflowExecutionFailedCause.java
@@ -0,0 +1,25 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+public enum SignalExternalWorkflowExecutionFailedCause {
+ UNKNOWN_EXTERNAL_WORKFLOW_EXECUTION,
+ WORKFLOW_ALREADY_COMPLETED,
+ WORKFLOW_ALREADY_CANCELED,
+ WORKFLOW_ALREADY_TERMINATED,
+ WORKFLOW_ALREADY_TIMED_OUT,
+ WORKFLOW_ALREADY_FAILED,
+ WORKFLOW_ALREADY_CONTINUED_AS_NEW
+}
diff --git a/src/main/java/com/uber/cadence/entities/SignalExternalWorkflowExecutionFailedEventAttributes.java b/src/main/java/com/uber/cadence/entities/SignalExternalWorkflowExecutionFailedEventAttributes.java
new file mode 100644
index 000000000..963deb709
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/SignalExternalWorkflowExecutionFailedEventAttributes.java
@@ -0,0 +1,27 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class SignalExternalWorkflowExecutionFailedEventAttributes {
+ private Long decisionTaskCompletedEventId;
+ private String domain;
+ private WorkflowExecution workflowExecution;
+ private Long initiatedEventId;
+ private SignalExternalWorkflowExecutionFailedCause cause;
+ private byte[] control;
+}
diff --git a/src/main/java/com/uber/cadence/entities/SignalExternalWorkflowExecutionInitiatedEventAttributes.java b/src/main/java/com/uber/cadence/entities/SignalExternalWorkflowExecutionInitiatedEventAttributes.java
new file mode 100644
index 000000000..9b9424149
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/SignalExternalWorkflowExecutionInitiatedEventAttributes.java
@@ -0,0 +1,28 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class SignalExternalWorkflowExecutionInitiatedEventAttributes {
+ private Long decisionTaskCompletedEventId;
+ private String domain;
+ private WorkflowExecution workflowExecution;
+ private String signalName;
+ private byte[] input;
+ private byte[] control;
+ private boolean childWorkflowOnly;
+}
diff --git a/src/main/java/com/uber/cadence/entities/SignalWithStartWorkflowExecutionAsyncRequest.java b/src/main/java/com/uber/cadence/entities/SignalWithStartWorkflowExecutionAsyncRequest.java
new file mode 100644
index 000000000..35f28ac41
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/SignalWithStartWorkflowExecutionAsyncRequest.java
@@ -0,0 +1,22 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class SignalWithStartWorkflowExecutionAsyncRequest {
+ private SignalWithStartWorkflowExecutionRequest request;
+}
diff --git a/src/main/java/com/uber/cadence/entities/SignalWithStartWorkflowExecutionAsyncResponse.java b/src/main/java/com/uber/cadence/entities/SignalWithStartWorkflowExecutionAsyncResponse.java
new file mode 100644
index 000000000..b3513b976
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/SignalWithStartWorkflowExecutionAsyncResponse.java
@@ -0,0 +1,20 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class SignalWithStartWorkflowExecutionAsyncResponse {}
diff --git a/src/main/java/com/uber/cadence/entities/SignalWithStartWorkflowExecutionRequest.java b/src/main/java/com/uber/cadence/entities/SignalWithStartWorkflowExecutionRequest.java
new file mode 100644
index 000000000..3f87e0161
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/SignalWithStartWorkflowExecutionRequest.java
@@ -0,0 +1,40 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class SignalWithStartWorkflowExecutionRequest {
+ private String domain;
+ private String workflowId;
+ private WorkflowType workflowType;
+ private TaskList taskList;
+ private byte[] input;
+ private int executionStartToCloseTimeoutSeconds;
+ private int taskStartToCloseTimeoutSeconds;
+ private String requestId;
+ private Memo memo;
+ private SearchAttributes searchAttributes;
+ private Header header;
+ private RetryPolicy retryPolicy;
+ private WorkflowIdReusePolicy workflowIdReusePolicy;
+ private String cronSchedule;
+ private int delayStartSeconds;
+ private String identity;
+ private String signalName;
+ private byte[] signalInput;
+ private byte[] control;
+}
diff --git a/src/main/java/com/uber/cadence/entities/SignalWorkflowExecutionRequest.java b/src/main/java/com/uber/cadence/entities/SignalWorkflowExecutionRequest.java
new file mode 100644
index 000000000..6d3e6f411
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/SignalWorkflowExecutionRequest.java
@@ -0,0 +1,28 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class SignalWorkflowExecutionRequest {
+ private String domain;
+ private WorkflowExecution workflowExecution;
+ private String signalName;
+ private byte[] input;
+ private String requestId;
+ private byte[] control;
+ private String identity;
+}
diff --git a/src/main/java/com/uber/cadence/entities/StartChildWorkflowExecutionDecisionAttributes.java b/src/main/java/com/uber/cadence/entities/StartChildWorkflowExecutionDecisionAttributes.java
new file mode 100644
index 000000000..761a6b41d
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/StartChildWorkflowExecutionDecisionAttributes.java
@@ -0,0 +1,36 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class StartChildWorkflowExecutionDecisionAttributes {
+ private String domain;
+ private String workflowId;
+ private WorkflowType workflowType;
+ private TaskList taskList;
+ private byte[] input;
+ private Integer executionStartToCloseTimeoutSeconds;
+ private Integer taskStartToCloseTimeoutSeconds;
+ private ParentClosePolicy parentClosePolicy;
+ private WorkflowIdReusePolicy workflowIdReusePolicy;
+ private Header header;
+ private Memo memo;
+ private SearchAttributes searchAttributes;
+ private RetryPolicy retryPolicy;
+ private byte[] control;
+ private String cronSchedule;
+}
diff --git a/src/main/java/com/uber/cadence/entities/StartChildWorkflowExecutionFailedEventAttributes.java b/src/main/java/com/uber/cadence/entities/StartChildWorkflowExecutionFailedEventAttributes.java
new file mode 100644
index 000000000..b5e6df144
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/StartChildWorkflowExecutionFailedEventAttributes.java
@@ -0,0 +1,28 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class StartChildWorkflowExecutionFailedEventAttributes {
+ private String domain;
+ private String workflowId;
+ private WorkflowType workflowType;
+ private ChildWorkflowExecutionFailedCause cause;
+ private byte[] control;
+ private Long initiatedEventId;
+ private Long decisionTaskCompletedEventId;
+}
diff --git a/src/main/java/com/uber/cadence/entities/StartChildWorkflowExecutionInitiatedEventAttributes.java b/src/main/java/com/uber/cadence/entities/StartChildWorkflowExecutionInitiatedEventAttributes.java
new file mode 100644
index 000000000..25a75e33f
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/StartChildWorkflowExecutionInitiatedEventAttributes.java
@@ -0,0 +1,39 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class StartChildWorkflowExecutionInitiatedEventAttributes {
+ private String domain;
+ private String workflowId;
+ private WorkflowType workflowType;
+ private TaskList taskList;
+ private byte[] input;
+ private Integer executionStartToCloseTimeoutSeconds;
+ private Integer taskStartToCloseTimeoutSeconds;
+ private ParentClosePolicy parentClosePolicy;
+ private byte[] control;
+ private Long decisionTaskCompletedEventId;
+ private WorkflowIdReusePolicy workflowIdReusePolicy;
+ private RetryPolicy retryPolicy;
+ private String cronSchedule;
+ private Header header;
+ private Memo memo;
+ private SearchAttributes searchAttributes;
+ private Integer delayStartSeconds;
+ private Integer jitterStartSeconds;
+}
diff --git a/src/main/java/com/uber/cadence/entities/StartTimeFilter.java b/src/main/java/com/uber/cadence/entities/StartTimeFilter.java
new file mode 100644
index 000000000..286fd88dd
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/StartTimeFilter.java
@@ -0,0 +1,23 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class StartTimeFilter {
+ private Long earliestTime;
+ private Long latestTime;
+}
diff --git a/src/main/java/com/uber/cadence/entities/StartTimerDecisionAttributes.java b/src/main/java/com/uber/cadence/entities/StartTimerDecisionAttributes.java
new file mode 100644
index 000000000..ec3eecfe1
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/StartTimerDecisionAttributes.java
@@ -0,0 +1,23 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class StartTimerDecisionAttributes {
+ private String timerId;
+ private Long startToFireTimeoutSeconds;
+}
diff --git a/src/main/java/com/uber/cadence/entities/StartWorkflowExecutionAsyncRequest.java b/src/main/java/com/uber/cadence/entities/StartWorkflowExecutionAsyncRequest.java
new file mode 100644
index 000000000..8a62b4430
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/StartWorkflowExecutionAsyncRequest.java
@@ -0,0 +1,22 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class StartWorkflowExecutionAsyncRequest {
+ private StartWorkflowExecutionRequest request;
+}
diff --git a/src/main/java/com/uber/cadence/entities/StartWorkflowExecutionAsyncResponse.java b/src/main/java/com/uber/cadence/entities/StartWorkflowExecutionAsyncResponse.java
new file mode 100644
index 000000000..b0f200dbb
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/StartWorkflowExecutionAsyncResponse.java
@@ -0,0 +1,20 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class StartWorkflowExecutionAsyncResponse {}
diff --git a/src/main/java/com/uber/cadence/entities/StartWorkflowExecutionRequest.java b/src/main/java/com/uber/cadence/entities/StartWorkflowExecutionRequest.java
new file mode 100644
index 000000000..1a9d1c659
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/StartWorkflowExecutionRequest.java
@@ -0,0 +1,37 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class StartWorkflowExecutionRequest {
+ private String domain;
+ private String workflowId;
+ private WorkflowType workflowType;
+ private TaskList taskList;
+ private byte[] input;
+ private String requestId;
+ private int executionStartToCloseTimeoutSeconds;
+ private int taskStartToCloseTimeoutSeconds;
+ private WorkflowIdReusePolicy workflowIdReusePolicy;
+ private Memo memo;
+ private SearchAttributes searchAttributes;
+ private Header header;
+ private int delayStartSeconds;
+ private RetryPolicy retryPolicy;
+ private String cronSchedule;
+ private String identity;
+}
diff --git a/src/main/java/com/uber/cadence/entities/StartWorkflowExecutionResponse.java b/src/main/java/com/uber/cadence/entities/StartWorkflowExecutionResponse.java
new file mode 100644
index 000000000..758c88ac9
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/StartWorkflowExecutionResponse.java
@@ -0,0 +1,22 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class StartWorkflowExecutionResponse {
+ private String runId;
+}
diff --git a/src/main/java/com/uber/cadence/entities/StatusFilter.java b/src/main/java/com/uber/cadence/entities/StatusFilter.java
new file mode 100644
index 000000000..becf76b07
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/StatusFilter.java
@@ -0,0 +1,22 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class StatusFilter {
+ private WorkflowExecutionCloseStatus status;
+}
diff --git a/src/main/java/com/uber/cadence/entities/StickyExecutionAttributes.java b/src/main/java/com/uber/cadence/entities/StickyExecutionAttributes.java
new file mode 100644
index 000000000..04ae03fdf
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/StickyExecutionAttributes.java
@@ -0,0 +1,23 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class StickyExecutionAttributes {
+ private TaskList workerTaskList;
+ private Integer scheduleToStartTimeoutSeconds;
+}
diff --git a/src/main/java/com/uber/cadence/entities/SupportedClientVersions.java b/src/main/java/com/uber/cadence/entities/SupportedClientVersions.java
new file mode 100644
index 000000000..bb0d3bf0e
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/SupportedClientVersions.java
@@ -0,0 +1,25 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class SupportedClientVersions {
+ private String goSdk;
+ private String javaSdk;
+ private String cli;
+ private String ui;
+}
diff --git a/src/main/java/com/uber/cadence/entities/TaskIDBlock.java b/src/main/java/com/uber/cadence/entities/TaskIDBlock.java
new file mode 100644
index 000000000..98d4b4c5a
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/TaskIDBlock.java
@@ -0,0 +1,23 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class TaskIDBlock {
+ private Long startID;
+ private Long endID;
+}
diff --git a/src/main/java/com/uber/cadence/entities/TaskList.java b/src/main/java/com/uber/cadence/entities/TaskList.java
new file mode 100644
index 000000000..f47790edc
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/TaskList.java
@@ -0,0 +1,23 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class TaskList {
+ private String name;
+ private TaskListKind kind;
+}
diff --git a/src/main/java/com/uber/cadence/entities/TaskListKind.java b/src/main/java/com/uber/cadence/entities/TaskListKind.java
new file mode 100644
index 000000000..a5d74dbd3
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/TaskListKind.java
@@ -0,0 +1,20 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+public enum TaskListKind {
+ NORMAL,
+ STICKY
+}
diff --git a/src/main/java/com/uber/cadence/entities/TaskListMetadata.java b/src/main/java/com/uber/cadence/entities/TaskListMetadata.java
new file mode 100644
index 000000000..89dcd8754
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/TaskListMetadata.java
@@ -0,0 +1,22 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class TaskListMetadata {
+ private double maxTasksPerSecond;
+}
diff --git a/src/main/java/com/uber/cadence/entities/TaskListPartitionMetadata.java b/src/main/java/com/uber/cadence/entities/TaskListPartitionMetadata.java
new file mode 100644
index 000000000..3edd9fd8c
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/TaskListPartitionMetadata.java
@@ -0,0 +1,23 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class TaskListPartitionMetadata {
+ private String key;
+ private String ownerHostName;
+}
diff --git a/src/main/java/com/uber/cadence/entities/TaskListStatus.java b/src/main/java/com/uber/cadence/entities/TaskListStatus.java
new file mode 100644
index 000000000..631f6aee3
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/TaskListStatus.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class TaskListStatus {
+ private Long backlogCountHint;
+ private Long readLevel;
+ private Long ackLevel;
+ private double ratePerSecond;
+ private TaskIDBlock taskIDBlock;
+}
diff --git a/src/main/java/com/uber/cadence/entities/TaskListType.java b/src/main/java/com/uber/cadence/entities/TaskListType.java
new file mode 100644
index 000000000..36ae57afc
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/TaskListType.java
@@ -0,0 +1,20 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+public enum TaskListType {
+ Decision,
+ Activity
+}
diff --git a/src/main/java/com/uber/cadence/entities/TerminateWorkflowExecutionRequest.java b/src/main/java/com/uber/cadence/entities/TerminateWorkflowExecutionRequest.java
new file mode 100644
index 000000000..28f7f67c6
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/TerminateWorkflowExecutionRequest.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class TerminateWorkflowExecutionRequest {
+ private String domain;
+ private WorkflowExecution workflowExecution;
+ private String reason;
+ private byte[] details;
+ private String identity;
+}
diff --git a/src/main/java/com/uber/cadence/entities/TimeoutType.java b/src/main/java/com/uber/cadence/entities/TimeoutType.java
new file mode 100644
index 000000000..7b5748f1d
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/TimeoutType.java
@@ -0,0 +1,30 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+/** TimeoutType represents the type of timeout in a workflow. */
+public enum TimeoutType {
+ /** Timeout from start to close. */
+ START_TO_CLOSE,
+
+ /** Timeout from schedule to start. */
+ SCHEDULE_TO_START,
+
+ /** Timeout from schedule to close. */
+ SCHEDULE_TO_CLOSE,
+
+ /** Timeout for heartbeat. */
+ HEARTBEAT
+}
diff --git a/src/main/java/com/uber/cadence/entities/TimerCanceledEventAttributes.java b/src/main/java/com/uber/cadence/entities/TimerCanceledEventAttributes.java
new file mode 100644
index 000000000..85fd04e28
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/TimerCanceledEventAttributes.java
@@ -0,0 +1,25 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class TimerCanceledEventAttributes {
+ private String timerId;
+ private Long startedEventId;
+ private Long decisionTaskCompletedEventId;
+ private String identity;
+}
diff --git a/src/main/java/com/uber/cadence/entities/TimerFiredEventAttributes.java b/src/main/java/com/uber/cadence/entities/TimerFiredEventAttributes.java
new file mode 100644
index 000000000..7e8235cb2
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/TimerFiredEventAttributes.java
@@ -0,0 +1,23 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class TimerFiredEventAttributes {
+ private String timerId;
+ private Long startedEventId;
+}
diff --git a/src/main/java/com/uber/cadence/entities/TimerStartedEventAttributes.java b/src/main/java/com/uber/cadence/entities/TimerStartedEventAttributes.java
new file mode 100644
index 000000000..8f70a1796
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/TimerStartedEventAttributes.java
@@ -0,0 +1,24 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class TimerStartedEventAttributes {
+ private String timerId;
+ private int startToFireTimeoutSeconds;
+ private Long decisionTaskCompletedEventId;
+}
diff --git a/src/main/java/com/uber/cadence/entities/UpdateDomainInfo.java b/src/main/java/com/uber/cadence/entities/UpdateDomainInfo.java
new file mode 100644
index 000000000..e0c27af03
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/UpdateDomainInfo.java
@@ -0,0 +1,25 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import java.util.Map;
+import lombok.Data;
+
+@Data
+public class UpdateDomainInfo {
+ private String description;
+ private String ownerEmail;
+ private Map Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class UpdateDomainRequest {
+ private String name;
+ private String securityToken;
+ private UpdateDomainInfo updatedInfo;
+ private DomainConfiguration configuration;
+ private String deleteBadBinary;
+ private int failoverTimeoutInSeconds;
+}
diff --git a/src/main/java/com/uber/cadence/entities/UpdateDomainResponse.java b/src/main/java/com/uber/cadence/entities/UpdateDomainResponse.java
new file mode 100644
index 000000000..7415d0cbb
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/UpdateDomainResponse.java
@@ -0,0 +1,26 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class UpdateDomainResponse {
+ private DomainInfo domainInfo;
+ private DomainConfiguration configuration;
+ private DomainReplicationConfiguration replicationConfiguration;
+ private Long failoverVersion;
+ private Boolean isGlobalDomain;
+}
diff --git a/src/main/java/com/uber/cadence/entities/UpsertWorkflowSearchAttributesDecisionAttributes.java b/src/main/java/com/uber/cadence/entities/UpsertWorkflowSearchAttributesDecisionAttributes.java
new file mode 100644
index 000000000..a2d2e2445
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/UpsertWorkflowSearchAttributesDecisionAttributes.java
@@ -0,0 +1,22 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class UpsertWorkflowSearchAttributesDecisionAttributes {
+ private SearchAttributes searchAttributes;
+}
diff --git a/src/main/java/com/uber/cadence/entities/UpsertWorkflowSearchAttributesEventAttributes.java b/src/main/java/com/uber/cadence/entities/UpsertWorkflowSearchAttributesEventAttributes.java
new file mode 100644
index 000000000..85021fc2a
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/UpsertWorkflowSearchAttributesEventAttributes.java
@@ -0,0 +1,23 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class UpsertWorkflowSearchAttributesEventAttributes {
+ private Long decisionTaskCompletedEventId;
+ private SearchAttributes searchAttributes;
+}
diff --git a/src/main/java/com/uber/cadence/entities/VersionHistory.java b/src/main/java/com/uber/cadence/entities/VersionHistory.java
new file mode 100644
index 000000000..ef00d0ea7
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/VersionHistory.java
@@ -0,0 +1,24 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import java.util.List;
+import lombok.Data;
+
+@Data
+public class VersionHistory {
+ private byte[] branchToken;
+ private List Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class VersionHistoryItem {
+ private Long eventId;
+ private Long version;
+}
diff --git a/src/main/java/com/uber/cadence/entities/WorkerVersionInfo.java b/src/main/java/com/uber/cadence/entities/WorkerVersionInfo.java
new file mode 100644
index 000000000..199585225
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/WorkerVersionInfo.java
@@ -0,0 +1,23 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class WorkerVersionInfo {
+ private String impl;
+ private String featureVersion;
+}
diff --git a/src/main/java/com/uber/cadence/entities/WorkflowExecution.java b/src/main/java/com/uber/cadence/entities/WorkflowExecution.java
new file mode 100644
index 000000000..b847aa733
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/WorkflowExecution.java
@@ -0,0 +1,23 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class WorkflowExecution {
+ private String workflowId;
+ private String runId;
+}
diff --git a/src/main/java/com/uber/cadence/entities/WorkflowExecutionCancelRequestedEventAttributes.java b/src/main/java/com/uber/cadence/entities/WorkflowExecutionCancelRequestedEventAttributes.java
new file mode 100644
index 000000000..f9c6c41fe
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/WorkflowExecutionCancelRequestedEventAttributes.java
@@ -0,0 +1,25 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class WorkflowExecutionCancelRequestedEventAttributes {
+ private String cause;
+ private Long externalInitiatedEventId;
+ private WorkflowExecution externalWorkflowExecution;
+ private String identity;
+}
diff --git a/src/main/java/com/uber/cadence/entities/WorkflowExecutionCanceledEventAttributes.java b/src/main/java/com/uber/cadence/entities/WorkflowExecutionCanceledEventAttributes.java
new file mode 100644
index 000000000..19ea3cd09
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/WorkflowExecutionCanceledEventAttributes.java
@@ -0,0 +1,23 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class WorkflowExecutionCanceledEventAttributes {
+ private Long decisionTaskCompletedEventId;
+ private byte[] details;
+}
diff --git a/src/main/java/com/uber/cadence/entities/WorkflowExecutionCloseStatus.java b/src/main/java/com/uber/cadence/entities/WorkflowExecutionCloseStatus.java
new file mode 100644
index 000000000..b7b3fb433
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/WorkflowExecutionCloseStatus.java
@@ -0,0 +1,25 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+/** WorkflowExecutionCloseStatus represents the status of a workflow execution when it is closed. */
+public enum WorkflowExecutionCloseStatus {
+ COMPLETED,
+ FAILED,
+ CANCELED,
+ TERMINATED,
+ CONTINUED_AS_NEW,
+ TIMED_OUT
+}
diff --git a/src/main/java/com/uber/cadence/entities/WorkflowExecutionCompletedEventAttributes.java b/src/main/java/com/uber/cadence/entities/WorkflowExecutionCompletedEventAttributes.java
new file mode 100644
index 000000000..2600fc7aa
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/WorkflowExecutionCompletedEventAttributes.java
@@ -0,0 +1,23 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class WorkflowExecutionCompletedEventAttributes {
+ private byte[] result;
+ private Long decisionTaskCompletedEventId;
+}
diff --git a/src/main/java/com/uber/cadence/entities/WorkflowExecutionConfiguration.java b/src/main/java/com/uber/cadence/entities/WorkflowExecutionConfiguration.java
new file mode 100644
index 000000000..33db634bd
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/WorkflowExecutionConfiguration.java
@@ -0,0 +1,27 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class WorkflowExecutionConfiguration {
+ private TaskList taskList;
+ private int executionStartToCloseTimeoutSeconds;
+ private int taskStartToCloseTimeoutSeconds;
+ private ChildPolicy childPolicy;
+ private WorkflowIdReusePolicy workflowIdReusePolicy;
+ private RetryPolicy retryPolicy;
+}
diff --git a/src/main/java/com/uber/cadence/entities/WorkflowExecutionContinuedAsNewEventAttributes.java b/src/main/java/com/uber/cadence/entities/WorkflowExecutionContinuedAsNewEventAttributes.java
new file mode 100644
index 000000000..0a8b13fb5
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/WorkflowExecutionContinuedAsNewEventAttributes.java
@@ -0,0 +1,36 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class WorkflowExecutionContinuedAsNewEventAttributes {
+ private String newExecutionRunId;
+ private WorkflowType workflowType;
+ private TaskList taskList;
+ private byte[] input;
+ private Integer executionStartToCloseTimeoutSeconds;
+ private Integer taskStartToCloseTimeoutSeconds;
+ private Long decisionTaskCompletedEventId;
+ private Integer backoffStartIntervalInSeconds;
+ private ContinueAsNewInitiator initiator;
+ private String failureReason;
+ private byte[] failureDetails;
+ private byte[] lastCompletionResult;
+ private Header header;
+ private Memo memo;
+ private SearchAttributes searchAttributes;
+}
diff --git a/src/main/java/com/uber/cadence/entities/WorkflowExecutionFailedEventAttributes.java b/src/main/java/com/uber/cadence/entities/WorkflowExecutionFailedEventAttributes.java
new file mode 100644
index 000000000..3f84078ee
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/WorkflowExecutionFailedEventAttributes.java
@@ -0,0 +1,24 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class WorkflowExecutionFailedEventAttributes {
+ private String reason;
+ private byte[] details;
+ private Long decisionTaskCompletedEventId;
+}
diff --git a/src/main/java/com/uber/cadence/entities/WorkflowExecutionFilter.java b/src/main/java/com/uber/cadence/entities/WorkflowExecutionFilter.java
new file mode 100644
index 000000000..f3a58d812
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/WorkflowExecutionFilter.java
@@ -0,0 +1,23 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class WorkflowExecutionFilter {
+ private String workflowId;
+ private String runId;
+}
diff --git a/src/main/java/com/uber/cadence/entities/WorkflowExecutionInfo.java b/src/main/java/com/uber/cadence/entities/WorkflowExecutionInfo.java
new file mode 100644
index 000000000..af68b9354
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/WorkflowExecutionInfo.java
@@ -0,0 +1,36 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class WorkflowExecutionInfo {
+ private WorkflowExecution execution;
+ private WorkflowType type;
+ private Long startTime;
+ private Long closeTime;
+ private WorkflowExecutionCloseStatus closeStatus;
+ private Long historyLength;
+ private String parentDomainName;
+ private String parentDomainId;
+ private WorkflowExecution parentExecution;
+ private Long executionTime;
+ private Memo memo;
+ private SearchAttributes searchAttributes;
+ private ResetPoints autoResetPoints;
+ private String taskList;
+ private Boolean isCron;
+}
diff --git a/src/main/java/com/uber/cadence/entities/WorkflowExecutionSignaledEventAttributes.java b/src/main/java/com/uber/cadence/entities/WorkflowExecutionSignaledEventAttributes.java
new file mode 100644
index 000000000..de6fe64fc
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/WorkflowExecutionSignaledEventAttributes.java
@@ -0,0 +1,25 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class WorkflowExecutionSignaledEventAttributes {
+ private String signalName;
+ private byte[] input;
+ private String identity;
+ private String requestId;
+}
diff --git a/src/main/java/com/uber/cadence/entities/WorkflowExecutionStartedEventAttributes.java b/src/main/java/com/uber/cadence/entities/WorkflowExecutionStartedEventAttributes.java
new file mode 100644
index 000000000..266ee6b2e
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/WorkflowExecutionStartedEventAttributes.java
@@ -0,0 +1,50 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import java.util.Map;
+import lombok.Data;
+
+@Data
+public class WorkflowExecutionStartedEventAttributes {
+ private WorkflowType workflowType;
+ private String parentWorkflowDomain;
+ private WorkflowExecution parentWorkflowExecution;
+ private Long parentInitiatedEventId;
+ private TaskList taskList;
+ private byte[] input;
+ private int executionStartToCloseTimeoutSeconds;
+ private int taskStartToCloseTimeoutSeconds;
+ private String continuedExecutionRunId;
+ private ContinueAsNewInitiator initiator;
+ private String continuedFailureReason;
+ private byte[] continuedFailureDetails;
+ private byte[] lastCompletionResult;
+ private String originalExecutionRunId;
+ private String identity;
+ private String firstExecutionRunId;
+ private Long firstScheduledTimeNano;
+ private RetryPolicy retryPolicy;
+ private int attempt;
+ private Long expirationTimestamp;
+ private String cronSchedule;
+ private int firstDecisionTaskBackoffSeconds;
+ private Memo memo;
+ private SearchAttributes searchAttributes;
+ private ResetPoints prevAutoResetPoints;
+ private Header header;
+ private Map Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class WorkflowExecutionTerminatedEventAttributes {
+ private String reason;
+ private byte[] details;
+ private String identity;
+}
diff --git a/src/main/java/com/uber/cadence/entities/WorkflowExecutionTimedOutEventAttributes.java b/src/main/java/com/uber/cadence/entities/WorkflowExecutionTimedOutEventAttributes.java
new file mode 100644
index 000000000..d954d4cee
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/WorkflowExecutionTimedOutEventAttributes.java
@@ -0,0 +1,23 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class WorkflowExecutionTimedOutEventAttributes {
+ private TimeoutType timeoutType;
+ private Integer decisionTaskCompletedEventId;
+}
diff --git a/src/main/java/com/uber/cadence/entities/WorkflowIdReusePolicy.java b/src/main/java/com/uber/cadence/entities/WorkflowIdReusePolicy.java
new file mode 100644
index 000000000..54ea2f5e2
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/WorkflowIdReusePolicy.java
@@ -0,0 +1,22 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+public enum WorkflowIdReusePolicy {
+ AllowDuplicateFailedOnly,
+ AllowDuplicate,
+ RejectDuplicate,
+ TerminateIfRunning;
+}
diff --git a/src/main/java/com/uber/cadence/entities/WorkflowQuery.java b/src/main/java/com/uber/cadence/entities/WorkflowQuery.java
new file mode 100644
index 000000000..31bccea52
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/WorkflowQuery.java
@@ -0,0 +1,23 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class WorkflowQuery {
+ private String queryType;
+ private byte[] queryArgs;
+}
diff --git a/src/main/java/com/uber/cadence/entities/WorkflowQueryResult.java b/src/main/java/com/uber/cadence/entities/WorkflowQueryResult.java
new file mode 100644
index 000000000..90c4c550c
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/WorkflowQueryResult.java
@@ -0,0 +1,24 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class WorkflowQueryResult {
+ private QueryResultType resultType;
+ private byte[] answer;
+ private String errorMessage;
+}
diff --git a/src/main/java/com/uber/cadence/entities/WorkflowType.java b/src/main/java/com/uber/cadence/entities/WorkflowType.java
new file mode 100644
index 000000000..5df89275e
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/WorkflowType.java
@@ -0,0 +1,22 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class WorkflowType {
+ private String name;
+}
diff --git a/src/main/java/com/uber/cadence/entities/WorkflowTypeFilter.java b/src/main/java/com/uber/cadence/entities/WorkflowTypeFilter.java
new file mode 100644
index 000000000..6812461f8
--- /dev/null
+++ b/src/main/java/com/uber/cadence/entities/WorkflowTypeFilter.java
@@ -0,0 +1,22 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.entities;
+
+import lombok.Data;
+
+@Data
+public class WorkflowTypeFilter {
+ private String name;
+}
diff --git a/src/main/java/com/uber/cadence/internal/compatibility/proto/mappers/DecisionMapper.java b/src/main/java/com/uber/cadence/internal/compatibility/proto/mappers/DecisionMapper.java
new file mode 100644
index 000000000..71ca1b14f
--- /dev/null
+++ b/src/main/java/com/uber/cadence/internal/compatibility/proto/mappers/DecisionMapper.java
@@ -0,0 +1,274 @@
+/*
+ * Modifications Copyright (c) 2017-2021 Uber Technologies Inc.
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not
+ * use this file except in compliance with the License. A copy of the License is
+ * located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.internal.compatibility.proto.mappers;
+
+import static com.uber.cadence.internal.compatibility.proto.mappers.EnumMapper.continueAsNewInitiator;
+import static com.uber.cadence.internal.compatibility.proto.mappers.EnumMapper.parentClosePolicy;
+import static com.uber.cadence.internal.compatibility.proto.mappers.EnumMapper.workflowIdReusePolicy;
+import static com.uber.cadence.internal.compatibility.proto.mappers.Helpers.arrayToByteString;
+import static com.uber.cadence.internal.compatibility.proto.mappers.Helpers.longToInt;
+import static com.uber.cadence.internal.compatibility.proto.mappers.Helpers.secondsToDuration;
+import static com.uber.cadence.internal.compatibility.proto.mappers.TypeMapper.activityType;
+import static com.uber.cadence.internal.compatibility.proto.mappers.TypeMapper.failure;
+import static com.uber.cadence.internal.compatibility.proto.mappers.TypeMapper.header;
+import static com.uber.cadence.internal.compatibility.proto.mappers.TypeMapper.memo;
+import static com.uber.cadence.internal.compatibility.proto.mappers.TypeMapper.payload;
+import static com.uber.cadence.internal.compatibility.proto.mappers.TypeMapper.retryPolicy;
+import static com.uber.cadence.internal.compatibility.proto.mappers.TypeMapper.searchAttributes;
+import static com.uber.cadence.internal.compatibility.proto.mappers.TypeMapper.taskList;
+import static com.uber.cadence.internal.compatibility.proto.mappers.TypeMapper.workflowExecution;
+import static com.uber.cadence.internal.compatibility.proto.mappers.TypeMapper.workflowRunPair;
+import static com.uber.cadence.internal.compatibility.proto.mappers.TypeMapper.workflowType;
+
+import com.uber.cadence.api.v1.CancelTimerDecisionAttributes;
+import com.uber.cadence.api.v1.CancelWorkflowExecutionDecisionAttributes;
+import com.uber.cadence.api.v1.CompleteWorkflowExecutionDecisionAttributes;
+import com.uber.cadence.api.v1.ContinueAsNewWorkflowExecutionDecisionAttributes;
+import com.uber.cadence.api.v1.Decision;
+import com.uber.cadence.api.v1.Decision.Builder;
+import com.uber.cadence.api.v1.FailWorkflowExecutionDecisionAttributes;
+import com.uber.cadence.api.v1.RecordMarkerDecisionAttributes;
+import com.uber.cadence.api.v1.RequestCancelActivityTaskDecisionAttributes;
+import com.uber.cadence.api.v1.RequestCancelExternalWorkflowExecutionDecisionAttributes;
+import com.uber.cadence.api.v1.ScheduleActivityTaskDecisionAttributes;
+import com.uber.cadence.api.v1.SignalExternalWorkflowExecutionDecisionAttributes;
+import com.uber.cadence.api.v1.StartChildWorkflowExecutionDecisionAttributes;
+import com.uber.cadence.api.v1.StartTimerDecisionAttributes;
+import com.uber.cadence.api.v1.UpsertWorkflowSearchAttributesDecisionAttributes;
+import java.util.ArrayList;
+import java.util.List;
+
+class DecisionMapper {
+ static List Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.internal.compatibility.proto.mappers;
+
+import static com.uber.cadence.internal.compatibility.proto.mappers.EnumMapper.archivalStatus;
+import static com.uber.cadence.internal.compatibility.proto.mappers.EnumMapper.domainStatus;
+import static com.uber.cadence.internal.compatibility.proto.mappers.Helpers.byteStringToArray;
+import static com.uber.cadence.internal.compatibility.proto.mappers.Helpers.durationToDays;
+import static com.uber.cadence.internal.compatibility.proto.mappers.Helpers.durationToSeconds;
+import static com.uber.cadence.internal.compatibility.proto.mappers.Helpers.timeToUnixNano;
+import static com.uber.cadence.internal.compatibility.proto.mappers.Helpers.toInt64Value;
+import static com.uber.cadence.internal.compatibility.proto.mappers.HistoryMapper.history;
+import static com.uber.cadence.internal.compatibility.proto.mappers.TypeMapper.activityLocalDispatchInfoMap;
+import static com.uber.cadence.internal.compatibility.proto.mappers.TypeMapper.activityType;
+import static com.uber.cadence.internal.compatibility.proto.mappers.TypeMapper.badBinaries;
+import static com.uber.cadence.internal.compatibility.proto.mappers.TypeMapper.clusterReplicationConfigurationArrayFromProto;
+import static com.uber.cadence.internal.compatibility.proto.mappers.TypeMapper.dataBlobArray;
+import static com.uber.cadence.internal.compatibility.proto.mappers.TypeMapper.describeDomainResponseArray;
+import static com.uber.cadence.internal.compatibility.proto.mappers.TypeMapper.header;
+import static com.uber.cadence.internal.compatibility.proto.mappers.TypeMapper.indexedValueTypeMap;
+import static com.uber.cadence.internal.compatibility.proto.mappers.TypeMapper.payload;
+import static com.uber.cadence.internal.compatibility.proto.mappers.TypeMapper.pendingActivityInfoArray;
+import static com.uber.cadence.internal.compatibility.proto.mappers.TypeMapper.pendingChildExecutionInfoArray;
+import static com.uber.cadence.internal.compatibility.proto.mappers.TypeMapper.pendingDecisionInfo;
+import static com.uber.cadence.internal.compatibility.proto.mappers.TypeMapper.pollerInfoArray;
+import static com.uber.cadence.internal.compatibility.proto.mappers.TypeMapper.queryRejected;
+import static com.uber.cadence.internal.compatibility.proto.mappers.TypeMapper.supportedClientVersions;
+import static com.uber.cadence.internal.compatibility.proto.mappers.TypeMapper.taskList;
+import static com.uber.cadence.internal.compatibility.proto.mappers.TypeMapper.taskListPartitionMetadataArray;
+import static com.uber.cadence.internal.compatibility.proto.mappers.TypeMapper.taskListStatus;
+import static com.uber.cadence.internal.compatibility.proto.mappers.TypeMapper.workflowExecution;
+import static com.uber.cadence.internal.compatibility.proto.mappers.TypeMapper.workflowExecutionConfiguration;
+import static com.uber.cadence.internal.compatibility.proto.mappers.TypeMapper.workflowExecutionInfo;
+import static com.uber.cadence.internal.compatibility.proto.mappers.TypeMapper.workflowExecutionInfoArray;
+import static com.uber.cadence.internal.compatibility.proto.mappers.TypeMapper.workflowQuery;
+import static com.uber.cadence.internal.compatibility.proto.mappers.TypeMapper.workflowQueryMap;
+import static com.uber.cadence.internal.compatibility.proto.mappers.TypeMapper.workflowType;
+
+import com.uber.cadence.api.v1.*;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+public class ResponseMapper {
+
+ public static com.uber.cadence.entities.StartWorkflowExecutionResponse
+ startWorkflowExecutionResponse(StartWorkflowExecutionResponse t) {
+ if (t == null) {
+ return null;
+ }
+ com.uber.cadence.entities.StartWorkflowExecutionResponse startWorkflowExecutionResponse =
+ new com.uber.cadence.entities.StartWorkflowExecutionResponse();
+ startWorkflowExecutionResponse.setRunId(t.getRunId());
+ return startWorkflowExecutionResponse;
+ }
+
+ public static com.uber.cadence.entities.StartWorkflowExecutionAsyncResponse
+ startWorkflowExecutionAsyncResponse(StartWorkflowExecutionAsyncResponse t) {
+ return t == null ? null : new com.uber.cadence.entities.StartWorkflowExecutionAsyncResponse();
+ }
+
+ public static com.uber.cadence.entities.DescribeTaskListResponse describeTaskListResponse(
+ DescribeTaskListResponse t) {
+ if (t == null) {
+ return null;
+ }
+ com.uber.cadence.entities.DescribeTaskListResponse describeTaskListResponse =
+ new com.uber.cadence.entities.DescribeTaskListResponse();
+ describeTaskListResponse.setPollers(pollerInfoArray(t.getPollersList()));
+ describeTaskListResponse.setTaskListStatus(taskListStatus(t.getTaskListStatus()));
+ return describeTaskListResponse;
+ }
+
+ public static com.uber.cadence.entities.RestartWorkflowExecutionResponse
+ restartWorkflowExecutionResponse(RestartWorkflowExecutionResponse t) {
+ if (t == null) {
+ return null;
+ }
+ com.uber.cadence.entities.RestartWorkflowExecutionResponse restartWorkflowExecutionResponse =
+ new com.uber.cadence.entities.RestartWorkflowExecutionResponse();
+ restartWorkflowExecutionResponse.setRunId(t.getRunId());
+ return restartWorkflowExecutionResponse;
+ }
+
+ public static com.uber.cadence.entities.DescribeWorkflowExecutionResponse
+ describeWorkflowExecutionResponse(DescribeWorkflowExecutionResponse t) {
+ if (t == null) {
+ return null;
+ }
+ com.uber.cadence.entities.DescribeWorkflowExecutionResponse describeWorkflowExecutionResponse =
+ new com.uber.cadence.entities.DescribeWorkflowExecutionResponse();
+ describeWorkflowExecutionResponse.setExecutionConfiguration(
+ workflowExecutionConfiguration(t.getExecutionConfiguration()));
+ describeWorkflowExecutionResponse.setWorkflowExecutionInfo(
+ workflowExecutionInfo(t.getWorkflowExecutionInfo()));
+ describeWorkflowExecutionResponse.setPendingActivities(
+ pendingActivityInfoArray(t.getPendingActivitiesList()));
+ describeWorkflowExecutionResponse.setPendingChildren(
+ pendingChildExecutionInfoArray(t.getPendingChildrenList()));
+ describeWorkflowExecutionResponse.setPendingDecision(
+ pendingDecisionInfo(t.getPendingDecision()));
+ return describeWorkflowExecutionResponse;
+ }
+
+ public static com.uber.cadence.entities.ClusterInfo getClusterInfoResponse(
+ GetClusterInfoResponse t) {
+ if (t == null) {
+ return null;
+ }
+ com.uber.cadence.entities.ClusterInfo clusterInfo =
+ new com.uber.cadence.entities.ClusterInfo();
+ clusterInfo.setSupportedClientVersions(supportedClientVersions(t.getSupportedClientVersions()));
+ return clusterInfo;
+ }
+
+ public static com.uber.cadence.entities.GetSearchAttributesResponse getSearchAttributesResponse(
+ GetSearchAttributesResponse t) {
+ if (t == null) {
+ return null;
+ }
+ com.uber.cadence.entities.GetSearchAttributesResponse getSearchAttributesResponse =
+ new com.uber.cadence.entities.GetSearchAttributesResponse();
+ getSearchAttributesResponse.setKeys(indexedValueTypeMap(t.getKeysMap()));
+ return getSearchAttributesResponse;
+ }
+
+ public static com.uber.cadence.entities.GetWorkflowExecutionHistoryResponse
+ getWorkflowExecutionHistoryResponse(GetWorkflowExecutionHistoryResponse t) {
+ if (t == null) {
+ return null;
+ }
+ com.uber.cadence.entities.GetWorkflowExecutionHistoryResponse
+ getWorkflowExecutionHistoryResponse =
+ new com.uber.cadence.entities.GetWorkflowExecutionHistoryResponse();
+ getWorkflowExecutionHistoryResponse.setHistory(history(t.getHistory()));
+ getWorkflowExecutionHistoryResponse.setRawHistory(dataBlobArray(t.getRawHistoryList()));
+ getWorkflowExecutionHistoryResponse.setNextPageToken(byteStringToArray(t.getNextPageToken()));
+ getWorkflowExecutionHistoryResponse.setArchived(t.getArchived());
+ return getWorkflowExecutionHistoryResponse;
+ }
+
+ public static com.uber.cadence.entities.ListArchivedWorkflowExecutionsResponse
+ listArchivedWorkflowExecutionsResponse(ListArchivedWorkflowExecutionsResponse t) {
+ if (t == null) {
+ return null;
+ }
+ com.uber.cadence.entities.ListArchivedWorkflowExecutionsResponse res =
+ new com.uber.cadence.entities.ListArchivedWorkflowExecutionsResponse();
+ res.setExecutions(workflowExecutionInfoArray(t.getExecutionsList()));
+ res.setNextPageToken(byteStringToArray(t.getNextPageToken()));
+ return res;
+ }
+
+ public static com.uber.cadence.entities.ListClosedWorkflowExecutionsResponse
+ listClosedWorkflowExecutionsResponse(ListClosedWorkflowExecutionsResponse t) {
+ if (t == null) {
+ return null;
+ }
+ com.uber.cadence.entities.ListClosedWorkflowExecutionsResponse res =
+ new com.uber.cadence.entities.ListClosedWorkflowExecutionsResponse();
+ res.setExecutions(workflowExecutionInfoArray(t.getExecutionsList()));
+ res.setNextPageToken(byteStringToArray(t.getNextPageToken()));
+ return res;
+ }
+
+ public static com.uber.cadence.entities.ListOpenWorkflowExecutionsResponse
+ listOpenWorkflowExecutionsResponse(ListOpenWorkflowExecutionsResponse t) {
+ if (t == null) {
+ return null;
+ }
+ com.uber.cadence.entities.ListOpenWorkflowExecutionsResponse res =
+ new com.uber.cadence.entities.ListOpenWorkflowExecutionsResponse();
+ res.setExecutions(workflowExecutionInfoArray(t.getExecutionsList()));
+ res.setNextPageToken(byteStringToArray(t.getNextPageToken()));
+ return res;
+ }
+
+ public static com.uber.cadence.entities.ListTaskListPartitionsResponse
+ listTaskListPartitionsResponse(ListTaskListPartitionsResponse t) {
+ if (t == null) {
+ return null;
+ }
+ com.uber.cadence.entities.ListTaskListPartitionsResponse res =
+ new com.uber.cadence.entities.ListTaskListPartitionsResponse();
+ res.setActivityTaskListPartitions(
+ taskListPartitionMetadataArray(t.getActivityTaskListPartitionsList()));
+ res.setDecisionTaskListPartitions(
+ taskListPartitionMetadataArray(t.getDecisionTaskListPartitionsList()));
+ return res;
+ }
+
+ public static com.uber.cadence.entities.ListWorkflowExecutionsResponse
+ listWorkflowExecutionsResponse(ListWorkflowExecutionsResponse t) {
+ if (t == null) {
+ return null;
+ }
+ com.uber.cadence.entities.ListWorkflowExecutionsResponse res =
+ new com.uber.cadence.entities.ListWorkflowExecutionsResponse();
+ res.setExecutions(workflowExecutionInfoArray(t.getExecutionsList()));
+ res.setNextPageToken(byteStringToArray(t.getNextPageToken()));
+ return res;
+ }
+
+ public static com.uber.cadence.entities.PollForActivityTaskResponse pollForActivityTaskResponse(
+ PollForActivityTaskResponse t) {
+ if (t == null) {
+ return null;
+ }
+ com.uber.cadence.entities.PollForActivityTaskResponse res =
+ new com.uber.cadence.entities.PollForActivityTaskResponse();
+ res.setTaskToken(byteStringToArray(t.getTaskToken()));
+ res.setWorkflowExecution(workflowExecution(t.getWorkflowExecution()));
+ res.setActivityId(t.getActivityId());
+ res.setActivityType(activityType(t.getActivityType()));
+ res.setInput(payload(t.getInput()));
+ res.setScheduledTimestamp(timeToUnixNano(t.getScheduledTime()));
+ res.setStartedTimestamp(timeToUnixNano(t.getStartedTime()));
+ res.setScheduleToCloseTimeoutSeconds(durationToSeconds(t.getScheduleToCloseTimeout()));
+ res.setStartToCloseTimeoutSeconds(durationToSeconds(t.getStartToCloseTimeout()));
+ res.setHeartbeatTimeoutSeconds(durationToSeconds(t.getHeartbeatTimeout()));
+ res.setAttempt(t.getAttempt());
+ res.setScheduledTimestampOfThisAttempt(timeToUnixNano(t.getScheduledTimeOfThisAttempt()));
+ res.setHeartbeatDetails(payload(t.getHeartbeatDetails()));
+ res.setWorkflowType(workflowType(t.getWorkflowType()));
+ res.setWorkflowDomain(t.getWorkflowDomain());
+ res.setHeader(header(t.getHeader()));
+ return res;
+ }
+
+ public static com.uber.cadence.entities.PollForDecisionTaskResponse pollForDecisionTaskResponse(
+ PollForDecisionTaskResponse t) {
+ if (t == null) {
+ return null;
+ }
+ com.uber.cadence.entities.PollForDecisionTaskResponse res =
+ new com.uber.cadence.entities.PollForDecisionTaskResponse();
+ res.setTaskToken(byteStringToArray(t.getTaskToken()));
+ res.setWorkflowExecution(workflowExecution(t.getWorkflowExecution()));
+ res.setWorkflowType(workflowType(t.getWorkflowType()));
+ res.setPreviousStartedEventId(toInt64Value(t.getPreviousStartedEventId()));
+ res.setStartedEventId(t.getStartedEventId());
+ res.setAttempt(t.getAttempt());
+ res.setBacklogCountHint(t.getBacklogCountHint());
+ res.setHistory(history(t.getHistory()));
+ res.setNextPageToken(byteStringToArray(t.getNextPageToken()));
+ if (t.getQuery() != WorkflowQuery.getDefaultInstance()) {
+ res.setQuery(workflowQuery(t.getQuery()));
+ }
+ res.setWorkflowExecutionTaskList(taskList(t.getWorkflowExecutionTaskList()));
+ res.setScheduledTimestamp(timeToUnixNano(t.getScheduledTime()));
+ res.setStartedTimestamp(timeToUnixNano(t.getStartedTime()));
+ res.setQueries(workflowQueryMap(t.getQueriesMap()));
+ res.setNextEventId(t.getNextEventId());
+ return res;
+ }
+
+ public static com.uber.cadence.entities.QueryWorkflowResponse queryWorkflowResponse(
+ QueryWorkflowResponse t) {
+ if (t == null) {
+ return null;
+ }
+ com.uber.cadence.entities.QueryWorkflowResponse res =
+ new com.uber.cadence.entities.QueryWorkflowResponse();
+ res.setQueryResult(payload(t.getQueryResult()));
+ res.setQueryRejected(queryRejected(t.getQueryRejected()));
+ return res;
+ }
+
+ public static com.uber.cadence.entities.RecordActivityTaskHeartbeatResponse
+ recordActivityTaskHeartbeatByIdResponse(RecordActivityTaskHeartbeatByIDResponse t) {
+ if (t == null) {
+ return null;
+ }
+ com.uber.cadence.entities.RecordActivityTaskHeartbeatResponse res =
+ new com.uber.cadence.entities.RecordActivityTaskHeartbeatResponse();
+ res.setCancelRequested(t.getCancelRequested());
+ return res;
+ }
+
+ public static com.uber.cadence.entities.RecordActivityTaskHeartbeatResponse
+ recordActivityTaskHeartbeatResponse(RecordActivityTaskHeartbeatResponse t) {
+ if (t == null) {
+ return null;
+ }
+ com.uber.cadence.entities.RecordActivityTaskHeartbeatResponse res =
+ new com.uber.cadence.entities.RecordActivityTaskHeartbeatResponse();
+ res.setCancelRequested(t.getCancelRequested());
+ return res;
+ }
+
+ public static com.uber.cadence.entities.ResetWorkflowExecutionResponse
+ resetWorkflowExecutionResponse(ResetWorkflowExecutionResponse t) {
+ if (t == null) {
+ return null;
+ }
+ com.uber.cadence.entities.ResetWorkflowExecutionResponse res =
+ new com.uber.cadence.entities.ResetWorkflowExecutionResponse();
+ res.setRunId(t.getRunId());
+ return res;
+ }
+
+ public static com.uber.cadence.entities.RespondDecisionTaskCompletedResponse
+ respondDecisionTaskCompletedResponse(RespondDecisionTaskCompletedResponse t) {
+ if (t == null) {
+ return null;
+ }
+ com.uber.cadence.entities.RespondDecisionTaskCompletedResponse res =
+ new com.uber.cadence.entities.RespondDecisionTaskCompletedResponse();
+ res.setDecisionTask(pollForDecisionTaskResponse(t.getDecisionTask()));
+ res.setActivitiesToDispatchLocally(
+ activityLocalDispatchInfoMap(t.getActivitiesToDispatchLocallyMap()));
+ return res;
+ }
+
+ public static com.uber.cadence.entities.ListWorkflowExecutionsResponse
+ scanWorkflowExecutionsResponse(ScanWorkflowExecutionsResponse t) {
+ if (t == null) {
+ return null;
+ }
+ com.uber.cadence.entities.ListWorkflowExecutionsResponse res =
+ new com.uber.cadence.entities.ListWorkflowExecutionsResponse();
+ res.setExecutions(workflowExecutionInfoArray(t.getExecutionsList()));
+ res.setNextPageToken(byteStringToArray(t.getNextPageToken()));
+ return res;
+ }
+
+ public static com.uber.cadence.entities.CountWorkflowExecutionsResponse
+ countWorkflowExecutionsResponse(CountWorkflowExecutionsResponse t) {
+ if (t == null) {
+ return null;
+ }
+ com.uber.cadence.entities.CountWorkflowExecutionsResponse res =
+ new com.uber.cadence.entities.CountWorkflowExecutionsResponse();
+ res.setCount(t.getCount());
+ return res;
+ }
+
+ public static com.uber.cadence.entities.DescribeDomainResponse describeDomainResponse(
+ DescribeDomainResponse t) {
+ if (t == null) {
+ return null;
+ }
+ com.uber.cadence.entities.DescribeDomainResponse response =
+ new com.uber.cadence.entities.DescribeDomainResponse();
+ com.uber.cadence.entities.DomainInfo domainInfo = new com.uber.cadence.entities.DomainInfo();
+ response.setDomainInfo(domainInfo);
+
+ domainInfo.setName(t.getDomain().getName());
+ domainInfo.setStatus(domainStatus(t.getDomain().getStatus()));
+ domainInfo.setDescription(t.getDomain().getDescription());
+ domainInfo.setOwnerEmail(t.getDomain().getOwnerEmail());
+ domainInfo.setData(t.getDomain().getDataMap());
+ domainInfo.setUuid(t.getDomain().getId());
+
+ com.uber.cadence.entities.DomainConfiguration domainConfiguration =
+ new com.uber.cadence.entities.DomainConfiguration();
+ response.setConfiguration(domainConfiguration);
+
+ domainConfiguration.setWorkflowExecutionRetentionPeriodInDays(
+ durationToDays(t.getDomain().getWorkflowExecutionRetentionPeriod()));
+ domainConfiguration.setEmitMetric(true);
+ domainConfiguration.setBadBinaries(badBinaries(t.getDomain().getBadBinaries()));
+ domainConfiguration.setHistoryArchivalStatus(
+ archivalStatus(t.getDomain().getHistoryArchivalStatus()));
+ domainConfiguration.setHistoryArchivalURI(t.getDomain().getHistoryArchivalUri());
+ domainConfiguration.setVisibilityArchivalStatus(
+ archivalStatus(t.getDomain().getVisibilityArchivalStatus()));
+ domainConfiguration.setVisibilityArchivalURI(t.getDomain().getVisibilityArchivalUri());
+
+ com.uber.cadence.entities.DomainReplicationConfiguration replicationConfiguration =
+ new com.uber.cadence.entities.DomainReplicationConfiguration();
+ response.setReplicationConfiguration(replicationConfiguration);
+
+ replicationConfiguration.setActiveClusterName(t.getDomain().getActiveClusterName());
+ replicationConfiguration.setClusters(
+ clusterReplicationConfigurationArrayFromProto(t.getDomain().getClustersList()));
+
+ response.setFailoverVersion(t.getDomain().getFailoverVersion());
+ response.setIsGlobalDomain(t.getDomain().getIsGlobalDomain());
+ return response;
+ }
+
+ public static com.uber.cadence.entities.ListDomainsResponse listDomainsResponse(
+ ListDomainsResponse t) {
+ if (t == null) {
+ return null;
+ }
+ com.uber.cadence.entities.ListDomainsResponse res =
+ new com.uber.cadence.entities.ListDomainsResponse();
+ res.setDomains(describeDomainResponseArray(t.getDomainsList()));
+ res.setNextPageToken(byteStringToArray(t.getNextPageToken()));
+ return res;
+ }
+
+ public static com.uber.cadence.entities.StartWorkflowExecutionResponse
+ signalWithStartWorkflowExecutionResponse(SignalWithStartWorkflowExecutionResponse t) {
+ if (t == null) {
+ return null;
+ }
+ com.uber.cadence.entities.StartWorkflowExecutionResponse startWorkflowExecutionResponse =
+ new com.uber.cadence.entities.StartWorkflowExecutionResponse();
+ startWorkflowExecutionResponse.setRunId(t.getRunId());
+ return startWorkflowExecutionResponse;
+ }
+
+ public static com.uber.cadence.entities.SignalWithStartWorkflowExecutionAsyncResponse
+ signalWithStartWorkflowExecutionAsyncResponse(
+ SignalWithStartWorkflowExecutionAsyncResponse t) {
+ return t == null
+ ? null
+ : new com.uber.cadence.entities.SignalWithStartWorkflowExecutionAsyncResponse();
+ }
+
+ public static com.uber.cadence.entities.UpdateDomainResponse updateDomainResponse(
+ UpdateDomainResponse t) {
+ if (t == null) {
+ return null;
+ }
+ com.uber.cadence.entities.UpdateDomainResponse updateDomainResponse =
+ new com.uber.cadence.entities.UpdateDomainResponse();
+ com.uber.cadence.entities.DomainInfo domainInfo = new com.uber.cadence.entities.DomainInfo();
+ updateDomainResponse.setDomainInfo(domainInfo);
+
+ domainInfo.setName(t.getDomain().getName());
+ domainInfo.setStatus(domainStatus(t.getDomain().getStatus()));
+ domainInfo.setDescription(t.getDomain().getDescription());
+ domainInfo.setOwnerEmail(t.getDomain().getOwnerEmail());
+ domainInfo.setData(t.getDomain().getDataMap());
+ domainInfo.setUuid(t.getDomain().getId());
+
+ com.uber.cadence.entities.DomainConfiguration domainConfiguration =
+ new com.uber.cadence.entities.DomainConfiguration();
+ updateDomainResponse.setConfiguration(domainConfiguration);
+
+ domainConfiguration.setWorkflowExecutionRetentionPeriodInDays(
+ durationToDays(t.getDomain().getWorkflowExecutionRetentionPeriod()));
+ domainConfiguration.setEmitMetric(true);
+ domainConfiguration.setBadBinaries(badBinaries(t.getDomain().getBadBinaries()));
+ domainConfiguration.setHistoryArchivalStatus(
+ archivalStatus(t.getDomain().getHistoryArchivalStatus()));
+ domainConfiguration.setHistoryArchivalURI(t.getDomain().getHistoryArchivalUri());
+ domainConfiguration.setVisibilityArchivalStatus(
+ archivalStatus(t.getDomain().getVisibilityArchivalStatus()));
+ domainConfiguration.setVisibilityArchivalURI(t.getDomain().getVisibilityArchivalUri());
+
+ com.uber.cadence.entities.DomainReplicationConfiguration domainReplicationConfiguration =
+ new com.uber.cadence.entities.DomainReplicationConfiguration();
+ updateDomainResponse.setReplicationConfiguration(domainReplicationConfiguration);
+
+ domainReplicationConfiguration.setActiveClusterName(t.getDomain().getActiveClusterName());
+ domainReplicationConfiguration.setClusters(
+ clusterReplicationConfigurationArrayFromProto(t.getDomain().getClustersList()));
+ updateDomainResponse.setFailoverVersion(t.getDomain().getFailoverVersion());
+ updateDomainResponse.setIsGlobalDomain(t.getDomain().getIsGlobalDomain());
+ return updateDomainResponse;
+ }
+
+ public static com.uber.cadence.entities.RecordActivityTaskHeartbeatResponse
+ recordActivityTaskHeartbeatResponse(
+ RecordActivityTaskHeartbeatByIDResponse recordActivityTaskHeartbeatByID) {
+ if (recordActivityTaskHeartbeatByID == null) {
+ return null;
+ }
+ com.uber.cadence.entities.RecordActivityTaskHeartbeatResponse res =
+ new com.uber.cadence.entities.RecordActivityTaskHeartbeatResponse();
+ res.setCancelRequested(recordActivityTaskHeartbeatByID.getCancelRequested());
+ return res;
+ }
+
+ public static com.uber.cadence.entities.ResetStickyTaskListResponse resetStickyTaskListResponse(
+ ResetStickyTaskListResponse resetStickyTaskList) {
+ if (resetStickyTaskList == null) {
+ return null;
+ }
+ com.uber.cadence.entities.ResetStickyTaskListResponse res =
+ new com.uber.cadence.entities.ResetStickyTaskListResponse();
+ return res;
+ }
+
+ public static com.uber.cadence.entities.ClusterInfo clusterInfoResponse(
+ GetClusterInfoResponse clusterInfo) {
+ if (clusterInfo == null) {
+ return null;
+ }
+ com.uber.cadence.entities.ClusterInfo res =
+ new com.uber.cadence.entities.ClusterInfo();
+ res.setSupportedClientVersions(
+ TypeMapper.supportedClientVersions(clusterInfo.getSupportedClientVersions()));
+ return res;
+ }
+
+ public static com.uber.cadence.entities.GetTaskListsByDomainResponse getTaskListsByDomainResponse(
+ GetTaskListsByDomainResponse taskListsByDomain) {
+ if (taskListsByDomain == null) {
+ return null;
+ }
+ com.uber.cadence.entities.GetTaskListsByDomainResponse res =
+ new com.uber.cadence.entities.GetTaskListsByDomainResponse();
+
+ res.setActivityTaskListMap(
+ taskListsByDomain
+ .getActivityTaskListMapMap()
+ .entrySet()
+ .stream()
+ .collect(
+ Collectors.toMap(Map.Entry::getKey, e -> describeTaskListResponse(e.getValue()))));
+ res.setDecisionTaskListMap(
+ taskListsByDomain
+ .getDecisionTaskListMapMap()
+ .entrySet()
+ .stream()
+ .collect(
+ Collectors.toMap(Map.Entry::getKey, e -> describeTaskListResponse(e.getValue()))));
+ return res;
+ }
+}
diff --git a/src/main/java/com/uber/cadence/internal/compatibility/proto/mappers/TypeMapper.java b/src/main/java/com/uber/cadence/internal/compatibility/proto/mappers/TypeMapper.java
new file mode 100644
index 000000000..82fca471f
--- /dev/null
+++ b/src/main/java/com/uber/cadence/internal/compatibility/proto/mappers/TypeMapper.java
@@ -0,0 +1,932 @@
+/*
+ * Modifications Copyright (c) 2017-2021 Uber Technologies Inc.
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not
+ * use this file except in compliance with the License. A copy of the License is
+ * located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.internal.compatibility.proto.mappers;
+
+import static com.uber.cadence.internal.compatibility.proto.mappers.EnumMapper.archivalStatus;
+import static com.uber.cadence.internal.compatibility.proto.mappers.EnumMapper.domainStatus;
+import static com.uber.cadence.internal.compatibility.proto.mappers.EnumMapper.encodingType;
+import static com.uber.cadence.internal.compatibility.proto.mappers.EnumMapper.indexedValueType;
+import static com.uber.cadence.internal.compatibility.proto.mappers.EnumMapper.parentClosePolicy;
+import static com.uber.cadence.internal.compatibility.proto.mappers.EnumMapper.pendingActivityState;
+import static com.uber.cadence.internal.compatibility.proto.mappers.EnumMapper.pendingDecisionState;
+import static com.uber.cadence.internal.compatibility.proto.mappers.EnumMapper.queryResultType;
+import static com.uber.cadence.internal.compatibility.proto.mappers.EnumMapper.taskListKind;
+import static com.uber.cadence.internal.compatibility.proto.mappers.EnumMapper.workflowExecutionCloseStatus;
+import static com.uber.cadence.internal.compatibility.proto.mappers.Helpers.arrayToByteString;
+import static com.uber.cadence.internal.compatibility.proto.mappers.Helpers.byteStringToArray;
+import static com.uber.cadence.internal.compatibility.proto.mappers.Helpers.durationToDays;
+import static com.uber.cadence.internal.compatibility.proto.mappers.Helpers.durationToSeconds;
+import static com.uber.cadence.internal.compatibility.proto.mappers.Helpers.fromDoubleValue;
+import static com.uber.cadence.internal.compatibility.proto.mappers.Helpers.secondsToDuration;
+import static com.uber.cadence.internal.compatibility.proto.mappers.Helpers.timeToUnixNano;
+import static com.uber.cadence.internal.compatibility.proto.mappers.Helpers.unixNanoToTime;
+
+import com.google.common.base.Strings;
+import com.uber.cadence.api.v1.*;
+import java.nio.ByteBuffer;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+class TypeMapper {
+
+ static BadBinaryInfo badBinaryInfo(com.uber.cadence.entities.BadBinaryInfo t) {
+ if (t == null) {
+ return null;
+ }
+ return BadBinaryInfo.newBuilder()
+ .setReason(t.getReason())
+ .setOperator(t.getOperator())
+ .setCreatedTime(unixNanoToTime(t.getCreatedTimeNano()))
+ .build();
+ }
+
+ static Payload payload(byte[] data) {
+ if (data == null) {
+ return Payload.newBuilder().build();
+ }
+ return Payload.newBuilder().setData(arrayToByteString(data)).build();
+ }
+
+ static Failure failure(String reason, byte[] details) {
+ if (reason == null) {
+ return Failure.newBuilder().build();
+ }
+ return Failure.newBuilder().setReason(reason).setDetails(arrayToByteString(details)).build();
+ }
+
+ static WorkflowExecution workflowExecution(com.uber.cadence.entities.WorkflowExecution t) {
+ if (t == null) {
+ return WorkflowExecution.newBuilder().build();
+ }
+ if (t.getWorkflowId() == null && t.getRunId() == null) {
+ return WorkflowExecution.newBuilder().build();
+ }
+ WorkflowExecution.Builder builder =
+ WorkflowExecution.newBuilder().setWorkflowId(t.getWorkflowId());
+ if (t.getRunId() != null) {
+ builder.setRunId(t.getRunId());
+ }
+ return builder.build();
+ }
+
+ static WorkflowExecution workflowRunPair(String workflowId, String runId) {
+ if (Strings.isNullOrEmpty(workflowId) && Strings.isNullOrEmpty(runId)) {
+ return WorkflowExecution.newBuilder().build();
+ }
+ return WorkflowExecution.newBuilder().setWorkflowId(workflowId).setRunId(runId).build();
+ }
+
+ static ActivityType activityType(com.uber.cadence.entities.ActivityType t) {
+ if (t == null) {
+ return ActivityType.newBuilder().build();
+ }
+ return ActivityType.newBuilder().setName(t.getName()).build();
+ }
+
+ static WorkflowType workflowType(com.uber.cadence.entities.WorkflowType t) {
+ if (t == null) {
+ return WorkflowType.newBuilder().build();
+ }
+ return WorkflowType.newBuilder().setName(t.getName()).build();
+ }
+
+ static TaskList taskList(com.uber.cadence.entities.TaskList t) {
+ if (t == null) {
+ return TaskList.newBuilder().build();
+ }
+ return TaskList.newBuilder().setName(t.getName()).setKind(taskListKind(t.getKind())).build();
+ }
+
+ static TaskListMetadata taskListMetadata(com.uber.cadence.entities.TaskListMetadata t) {
+ if (t == null) {
+ return TaskListMetadata.newBuilder().build();
+ }
+ return TaskListMetadata.newBuilder()
+ .setMaxTasksPerSecond(fromDoubleValue(t.getMaxTasksPerSecond()))
+ .build();
+ }
+
+ static RetryPolicy retryPolicy(com.uber.cadence.entities.RetryPolicy t) {
+ if (t == null) {
+ return null;
+ }
+ RetryPolicy.Builder builder =
+ RetryPolicy.newBuilder()
+ .setInitialInterval(secondsToDuration(t.getInitialIntervalInSeconds()))
+ .setBackoffCoefficient(t.getBackoffCoefficient())
+ .setMaximumInterval(secondsToDuration(t.getMaximumIntervalInSeconds()))
+ .setMaximumAttempts(t.getMaximumAttempts())
+ .setExpirationInterval(secondsToDuration(t.getExpirationIntervalInSeconds()));
+ if (t.getNonRetriableErrorReasons() != null) {
+ builder.addAllNonRetryableErrorReasons(t.getNonRetriableErrorReasons());
+ }
+ return builder.build();
+ }
+
+ static Header header(com.uber.cadence.entities.Header t) {
+ if (t == null) {
+ return Header.newBuilder().build();
+ }
+ return Header.newBuilder().putAllFields(payloadByteBufferMap(t.getFields())).build();
+ }
+
+ static Memo memo(com.uber.cadence.entities.Memo t) {
+ if (t == null) {
+ return Memo.newBuilder().build();
+ }
+ return Memo.newBuilder().putAllFields(payloadByteBufferMap(t.getFields())).build();
+ }
+
+ static SearchAttributes searchAttributes(com.uber.cadence.entities.SearchAttributes t) {
+ if (t == null) {
+ return SearchAttributes.newBuilder().build();
+ }
+ return SearchAttributes.newBuilder()
+ .putAllIndexedFields(payloadByteBufferMap(t.getIndexedFields()))
+ .build();
+ }
+
+ static BadBinaries badBinaries(com.uber.cadence.entities.BadBinaries t) {
+ if (t == null) {
+ return BadBinaries.newBuilder().build();
+ }
+ return BadBinaries.newBuilder().putAllBinaries(badBinaryInfoMap(t.getBinaries())).build();
+ }
+
+ static ClusterReplicationConfiguration clusterReplicationConfiguration(
+ com.uber.cadence.entities.ClusterReplicationConfiguration t) {
+ if (t == null) {
+ return ClusterReplicationConfiguration.newBuilder().build();
+ }
+ return ClusterReplicationConfiguration.newBuilder().setClusterName(t.getClusterName()).build();
+ }
+
+ static WorkflowQuery workflowQuery(com.uber.cadence.entities.WorkflowQuery t) {
+ if (t == null) {
+ return null;
+ }
+ return WorkflowQuery.newBuilder()
+ .setQueryType(t.getQueryType())
+ .setQueryArgs(payload(t.getQueryArgs()))
+ .build();
+ }
+
+ static WorkflowQueryResult workflowQueryResult(com.uber.cadence.entities.WorkflowQueryResult t) {
+ if (t == null) {
+ return WorkflowQueryResult.newBuilder().build();
+ }
+ return WorkflowQueryResult.newBuilder()
+ .setResultType(queryResultType(t.getResultType()))
+ .setAnswer(payload(t.getAnswer()))
+ .setErrorMessage(t.getErrorMessage())
+ .build();
+ }
+
+ static StickyExecutionAttributes stickyExecutionAttributes(
+ com.uber.cadence.entities.StickyExecutionAttributes t) {
+ if (t == null) {
+ return StickyExecutionAttributes.newBuilder().build();
+ }
+ return StickyExecutionAttributes.newBuilder()
+ .setWorkerTaskList(taskList(t.getWorkerTaskList()))
+ .setScheduleToStartTimeout(secondsToDuration(t.getScheduleToStartTimeoutSeconds()))
+ .build();
+ }
+
+ static WorkerVersionInfo workerVersionInfo(com.uber.cadence.entities.WorkerVersionInfo t) {
+ if (t == null) {
+ return WorkerVersionInfo.newBuilder().build();
+ }
+ return WorkerVersionInfo.newBuilder()
+ .setImpl(t.getImpl())
+ .setFeatureVersion(t.getFeatureVersion())
+ .build();
+ }
+
+ static StartTimeFilter startTimeFilter(com.uber.cadence.entities.StartTimeFilter t) {
+ if (t == null) {
+ return null;
+ }
+ return StartTimeFilter.newBuilder()
+ .setEarliestTime(unixNanoToTime(t.getEarliestTime()))
+ .setLatestTime(unixNanoToTime(t.getLatestTime()))
+ .build();
+ }
+
+ static WorkflowExecutionFilter workflowExecutionFilter(
+ com.uber.cadence.entities.WorkflowExecutionFilter t) {
+ if (t == null) {
+ return WorkflowExecutionFilter.newBuilder().build();
+ }
+ return WorkflowExecutionFilter.newBuilder()
+ .setWorkflowId(t.getWorkflowId())
+ .setRunId(t.getRunId())
+ .build();
+ }
+
+ static WorkflowTypeFilter workflowTypeFilter(com.uber.cadence.entities.WorkflowTypeFilter t) {
+ if (t == null) {
+ return WorkflowTypeFilter.newBuilder().build();
+ }
+ return WorkflowTypeFilter.newBuilder().setName(t.getName()).build();
+ }
+
+ static StatusFilter statusFilter(com.uber.cadence.entities.WorkflowExecutionCloseStatus t) {
+ if (t == null) {
+ return null;
+ }
+ return StatusFilter.newBuilder().setStatus(workflowExecutionCloseStatus(t)).build();
+ }
+
+ static Map Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.serviceclient;
+
+public interface AsyncMethodCallback Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.serviceclient.exceptions;
+
+public class BadRequestError extends ServiceClientError {
+ public BadRequestError(Throwable cause) {
+ super(cause);
+ }
+}
diff --git a/src/main/java/com/uber/cadence/serviceclient/exceptions/CancellationAlreadyRequestedError.java b/src/main/java/com/uber/cadence/serviceclient/exceptions/CancellationAlreadyRequestedError.java
new file mode 100644
index 000000000..7e5d94457
--- /dev/null
+++ b/src/main/java/com/uber/cadence/serviceclient/exceptions/CancellationAlreadyRequestedError.java
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not
+ * use this file except in compliance with the License. A copy of the License is
+ * located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.serviceclient.exceptions;
+
+public class CancellationAlreadyRequestedError extends ServiceClientError {
+ public CancellationAlreadyRequestedError(Throwable cause) {
+ super(cause);
+ }
+}
diff --git a/src/main/java/com/uber/cadence/serviceclient/exceptions/ClientVersionNotSupportedError.java b/src/main/java/com/uber/cadence/serviceclient/exceptions/ClientVersionNotSupportedError.java
new file mode 100644
index 000000000..623c70e8f
--- /dev/null
+++ b/src/main/java/com/uber/cadence/serviceclient/exceptions/ClientVersionNotSupportedError.java
@@ -0,0 +1,43 @@
+/*
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not
+ * use this file except in compliance with the License. A copy of the License is
+ * located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.serviceclient.exceptions;
+
+public class ClientVersionNotSupportedError extends ServiceClientError {
+ private final String featureVersion;
+ private final String clientImpl;
+ private final String supportedVersions;
+
+ public ClientVersionNotSupportedError(
+ String featureVersion, String clientImpl, String supportedVersions) {
+ this.featureVersion = featureVersion;
+ this.clientImpl = clientImpl;
+ this.supportedVersions = supportedVersions;
+ }
+
+ public String getFeatureVersion() {
+ return featureVersion;
+ }
+
+ public String getClientImpl() {
+ return clientImpl;
+ }
+
+ public String getSupportedVersions() {
+ return supportedVersions;
+ }
+}
diff --git a/src/main/java/com/uber/cadence/serviceclient/exceptions/DomainAlreadyExistsError.java b/src/main/java/com/uber/cadence/serviceclient/exceptions/DomainAlreadyExistsError.java
new file mode 100644
index 000000000..d74dac1e6
--- /dev/null
+++ b/src/main/java/com/uber/cadence/serviceclient/exceptions/DomainAlreadyExistsError.java
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not
+ * use this file except in compliance with the License. A copy of the License is
+ * located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.serviceclient.exceptions;
+
+public class DomainAlreadyExistsError extends ServiceClientError {
+ public DomainAlreadyExistsError(Throwable cause) {
+ super(cause);
+ }
+}
diff --git a/src/main/java/com/uber/cadence/serviceclient/exceptions/DomainNotActiveError.java b/src/main/java/com/uber/cadence/serviceclient/exceptions/DomainNotActiveError.java
new file mode 100644
index 000000000..64a74b233
--- /dev/null
+++ b/src/main/java/com/uber/cadence/serviceclient/exceptions/DomainNotActiveError.java
@@ -0,0 +1,42 @@
+/*
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not
+ * use this file except in compliance with the License. A copy of the License is
+ * located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.serviceclient.exceptions;
+
+public class DomainNotActiveError extends ServiceClientError {
+ private final String domain;
+ private final String currentCluster;
+ private final String activeCluster;
+
+ public DomainNotActiveError(String domain, String currentCluster, String activeCluster) {
+ this.domain = domain;
+ this.currentCluster = currentCluster;
+ this.activeCluster = activeCluster;
+ }
+
+ public String getDomain() {
+ return domain;
+ }
+
+ public String getCurrentCluster() {
+ return currentCluster;
+ }
+
+ public String getActiveCluster() {
+ return activeCluster;
+ }
+}
diff --git a/src/main/java/com/uber/cadence/serviceclient/exceptions/EntityNotExistsError.java b/src/main/java/com/uber/cadence/serviceclient/exceptions/EntityNotExistsError.java
new file mode 100644
index 000000000..0397abbbd
--- /dev/null
+++ b/src/main/java/com/uber/cadence/serviceclient/exceptions/EntityNotExistsError.java
@@ -0,0 +1,21 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.serviceclient.exceptions;
+
+public class EntityNotExistsError extends ServiceClientError {
+ public EntityNotExistsError(Throwable cause) {
+ super(cause);
+ }
+}
diff --git a/src/main/java/com/uber/cadence/serviceclient/exceptions/FeatureNotEnabledError.java b/src/main/java/com/uber/cadence/serviceclient/exceptions/FeatureNotEnabledError.java
new file mode 100644
index 000000000..607f8632d
--- /dev/null
+++ b/src/main/java/com/uber/cadence/serviceclient/exceptions/FeatureNotEnabledError.java
@@ -0,0 +1,30 @@
+/*
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not
+ * use this file except in compliance with the License. A copy of the License is
+ * located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.serviceclient.exceptions;
+
+public class FeatureNotEnabledError extends ServiceClientError {
+ private final String featureFlag;
+
+ public FeatureNotEnabledError(String featureFlag) {
+ this.featureFlag = featureFlag;
+ }
+
+ public String getFeatureFlag() {
+ return featureFlag;
+ }
+}
diff --git a/src/main/java/com/uber/cadence/serviceclient/exceptions/InternalDataInconsistencyError.java b/src/main/java/com/uber/cadence/serviceclient/exceptions/InternalDataInconsistencyError.java
new file mode 100644
index 000000000..5efa9f059
--- /dev/null
+++ b/src/main/java/com/uber/cadence/serviceclient/exceptions/InternalDataInconsistencyError.java
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not
+ * use this file except in compliance with the License. A copy of the License is
+ * located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.serviceclient.exceptions;
+
+public class InternalDataInconsistencyError extends ServiceClientError {
+ public InternalDataInconsistencyError(Throwable cause) {
+ super(cause);
+ }
+}
diff --git a/src/main/java/com/uber/cadence/serviceclient/exceptions/InternalServiceError.java b/src/main/java/com/uber/cadence/serviceclient/exceptions/InternalServiceError.java
new file mode 100644
index 000000000..0dc375999
--- /dev/null
+++ b/src/main/java/com/uber/cadence/serviceclient/exceptions/InternalServiceError.java
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not
+ * use this file except in compliance with the License. A copy of the License is
+ * located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.serviceclient.exceptions;
+
+public class InternalServiceError extends ServiceClientError {
+ public InternalServiceError(Throwable cause) {
+ super(cause);
+ }
+}
diff --git a/src/main/java/com/uber/cadence/serviceclient/exceptions/LimitExceededError.java b/src/main/java/com/uber/cadence/serviceclient/exceptions/LimitExceededError.java
new file mode 100644
index 000000000..0d16732ea
--- /dev/null
+++ b/src/main/java/com/uber/cadence/serviceclient/exceptions/LimitExceededError.java
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not
+ * use this file except in compliance with the License. A copy of the License is
+ * located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.serviceclient.exceptions;
+
+public class LimitExceededError extends ServiceClientError {
+ public LimitExceededError(Throwable cause) {
+ super(cause);
+ }
+}
diff --git a/src/main/java/com/uber/cadence/serviceclient/exceptions/QueryFailedError.java b/src/main/java/com/uber/cadence/serviceclient/exceptions/QueryFailedError.java
new file mode 100644
index 000000000..13e83e66c
--- /dev/null
+++ b/src/main/java/com/uber/cadence/serviceclient/exceptions/QueryFailedError.java
@@ -0,0 +1,23 @@
+/**
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file
+ * except in compliance with the License. A copy of the License is located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.serviceclient.exceptions;
+
+public class QueryFailedError extends ServiceClientError {
+ private static final long serialVersionUID = 1L;
+
+ public QueryFailedError(Throwable cause) {
+ super(cause);
+ }
+}
diff --git a/src/main/java/com/uber/cadence/serviceclient/exceptions/ServiceBusyError.java b/src/main/java/com/uber/cadence/serviceclient/exceptions/ServiceBusyError.java
new file mode 100644
index 000000000..d742031ef
--- /dev/null
+++ b/src/main/java/com/uber/cadence/serviceclient/exceptions/ServiceBusyError.java
@@ -0,0 +1,24 @@
+/*
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not
+ * use this file except in compliance with the License. A copy of the License is
+ * located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.serviceclient.exceptions;
+
+public class ServiceBusyError extends ServiceClientError {
+ public ServiceBusyError(Throwable cause) {
+ super(cause);
+ }
+}
diff --git a/src/main/java/com/uber/cadence/serviceclient/exceptions/ServiceClientError.java b/src/main/java/com/uber/cadence/serviceclient/exceptions/ServiceClientError.java
new file mode 100644
index 000000000..ea779ce86
--- /dev/null
+++ b/src/main/java/com/uber/cadence/serviceclient/exceptions/ServiceClientError.java
@@ -0,0 +1,41 @@
+/*
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not
+ * use this file except in compliance with the License. A copy of the License is
+ * located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.serviceclient.exceptions;
+
+/**
+ * Base class for all exceptions thrown by the service client.
+ *
+ * This is a catchall for all other errors.
+ */
+public class ServiceClientError extends RuntimeException {
+ ServiceClientError() {
+ super();
+ }
+
+ public ServiceClientError(String message) {
+ super(message);
+ }
+
+ public ServiceClientError(String message, Throwable cause) {
+ super(message, cause);
+ }
+
+ public ServiceClientError(Throwable cause) {
+ super(cause);
+ }
+}
diff --git a/src/main/java/com/uber/cadence/serviceclient/exceptions/WorkflowExecutionAlreadyCompletedError.java b/src/main/java/com/uber/cadence/serviceclient/exceptions/WorkflowExecutionAlreadyCompletedError.java
new file mode 100644
index 000000000..dfdbf0802
--- /dev/null
+++ b/src/main/java/com/uber/cadence/serviceclient/exceptions/WorkflowExecutionAlreadyCompletedError.java
@@ -0,0 +1,23 @@
+/*
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not
+ * use this file except in compliance with the License. A copy of the License is
+ * located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.serviceclient.exceptions;
+
+public class WorkflowExecutionAlreadyCompletedError extends ServiceClientError {
+ public WorkflowExecutionAlreadyCompletedError(Throwable cause) {
+ super(cause);
+ }
+}
diff --git a/src/main/java/com/uber/cadence/serviceclient/exceptions/WorkflowExecutionAlreadyStartedError.java b/src/main/java/com/uber/cadence/serviceclient/exceptions/WorkflowExecutionAlreadyStartedError.java
new file mode 100644
index 000000000..787ddb099
--- /dev/null
+++ b/src/main/java/com/uber/cadence/serviceclient/exceptions/WorkflowExecutionAlreadyStartedError.java
@@ -0,0 +1,35 @@
+/*
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not
+ * use this file except in compliance with the License. A copy of the License is
+ * located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.serviceclient.exceptions;
+
+public class WorkflowExecutionAlreadyStartedError extends ServiceClientError {
+ private final String startRequestId;
+ private final String runId;
+
+ public WorkflowExecutionAlreadyStartedError(String startRequestId, String runId) {
+ this.startRequestId = startRequestId;
+ this.runId = runId;
+ }
+
+ public String getStartRequestId() {
+ return startRequestId;
+ }
+
+ public String getRunId() {
+ return runId;
+ }
+}
diff --git a/src/test/java/com/uber/cadence/internal/compatibility/proto/ErrorMapperTest.java b/src/test/java/com/uber/cadence/internal/compatibility/proto/ErrorMapperTest.java
new file mode 100644
index 000000000..81b803de0
--- /dev/null
+++ b/src/test/java/com/uber/cadence/internal/compatibility/proto/ErrorMapperTest.java
@@ -0,0 +1,161 @@
+/*
+ * Copyright 2012-2016 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Modifications copyright (C) 2017 Uber Technologies, Inc.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"). You may not
+ * use this file except in compliance with the License. A copy of the License is
+ * located at
+ *
+ * http://aws.amazon.com/apache2.0
+ *
+ * or in the "license" file accompanying this file. This file 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 com.uber.cadence.internal.compatibility.proto;
+
+import static org.junit.Assert.assertEquals;
+
+import com.google.protobuf.Any;
+import com.google.protobuf.Message;
+import com.uber.cadence.api.v1.*;
+import com.uber.cadence.internal.compatibility.proto.mappers.ErrorMapper;
+import io.grpc.Status;
+import io.grpc.StatusRuntimeException;
+import io.grpc.protobuf.StatusProto;
+import java.util.Arrays;
+import java.util.Collection;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+
+@RunWith(Parameterized.class)
+public class ErrorMapperTest {
+
+ @Parameterized.Parameter(0)
+ public Status status;
+
+ @Parameterized.Parameter(1)
+ public Message detail;
+
+ @Parameterized.Parameter(2)
+ public Class