Skip to content

Commit c41ae43

Browse files
committed
Consolidate proto conversions
1 parent 08d8194 commit c41ae43

9 files changed

Lines changed: 71 additions & 82 deletions

File tree

temporal-sdk/src/main/java/io/temporal/common/VersioningOverride.java

Lines changed: 1 addition & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,12 @@
11
package io.temporal.common;
22

3-
import io.temporal.api.enums.v1.VersioningBehavior;
43
import javax.annotation.Nonnull;
54

6-
/**
7-
* Represents the override of a worker's versioning behavior for a workflow execution. Exactly one
8-
* of the subtypes must be used.
9-
*/
5+
/** Represents the override of a worker's versioning behavior for a workflow execution. */
106
@Experimental
117
public abstract class VersioningOverride {
128
private VersioningOverride() {}
139

14-
/**
15-
* Converts this override to a protobuf message.
16-
*
17-
* @return The proto representation.
18-
*/
19-
@SuppressWarnings("deprecation")
20-
public io.temporal.api.workflow.v1.VersioningOverride toProto() {
21-
if (this instanceof PinnedVersioningOverride) {
22-
PinnedVersioningOverride pv = (PinnedVersioningOverride) this;
23-
io.temporal.api.workflow.v1.VersioningOverride.PinnedOverride.Builder pinnedBuilder =
24-
io.temporal.api.workflow.v1.VersioningOverride.PinnedOverride.newBuilder()
25-
.setVersion(pv.getVersion().toProto());
26-
27-
pinnedBuilder.setBehavior(
28-
io.temporal.api.workflow.v1.VersioningOverride.PinnedOverrideBehavior
29-
.PINNED_OVERRIDE_BEHAVIOR_PINNED);
30-
31-
return io.temporal.api.workflow.v1.VersioningOverride.newBuilder()
32-
.setBehavior(VersioningBehavior.VERSIONING_BEHAVIOR_PINNED)
33-
.setPinnedVersion(pv.version.toCanonicalString())
34-
.setPinned(pinnedBuilder.build())
35-
.build();
36-
} else {
37-
return io.temporal.api.workflow.v1.VersioningOverride.newBuilder()
38-
.setBehavior(VersioningBehavior.VERSIONING_BEHAVIOR_AUTO_UPGRADE)
39-
.setAutoUpgrade(true)
40-
.build();
41-
}
42-
}
43-
4410
/** Workflow will be pinned to a specific deployment version. */
4511
public static final class PinnedVersioningOverride extends VersioningOverride {
4612
private final WorkerDeploymentVersion version;

temporal-sdk/src/main/java/io/temporal/common/WorkerDeploymentVersion.java

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -80,16 +80,4 @@ public String toString() {
8080
+ '\''
8181
+ '}';
8282
}
83-
84-
/**
85-
* Converts this version to a proto.
86-
*
87-
* @return The proto representation.
88-
*/
89-
public io.temporal.api.deployment.v1.WorkerDeploymentVersion toProto() {
90-
return io.temporal.api.deployment.v1.WorkerDeploymentVersion.newBuilder()
91-
.setBuildId(buildId)
92-
.setDeploymentName(deploymentName)
93-
.build();
94-
}
9583
}

temporal-sdk/src/main/java/io/temporal/internal/activity/ActivityInfoImpl.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import io.temporal.api.common.v1.Payloads;
66
import io.temporal.api.workflowservice.v1.PollActivityTaskQueueResponseOrBuilder;
77
import io.temporal.common.Priority;
8-
import io.temporal.internal.common.PriorityUtils;
8+
import io.temporal.internal.common.ProtoConverters;
99
import io.temporal.internal.common.ProtobufTimeUtils;
1010
import io.temporal.workflow.Functions;
1111
import java.time.Duration;
@@ -138,7 +138,7 @@ public boolean isLocal() {
138138

139139
@Override
140140
public Priority getPriority() {
141-
return PriorityUtils.fromProto(response.getPriority());
141+
return ProtoConverters.fromProto(response.getPriority());
142142
}
143143

144144
@Override

temporal-sdk/src/main/java/io/temporal/internal/client/ScheduleProtoUtil.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
import io.temporal.common.converter.DataConverter;
2525
import io.temporal.common.converter.EncodedValues;
2626
import io.temporal.internal.client.external.GenericWorkflowClient;
27-
import io.temporal.internal.common.PriorityUtils;
27+
import io.temporal.internal.common.ProtoConverters;
2828
import io.temporal.internal.common.ProtobufTimeUtils;
2929
import io.temporal.internal.common.RetryOptionsUtils;
3030
import io.temporal.internal.common.SearchAttributesUtil;
@@ -160,10 +160,11 @@ public ScheduleAction actionToProto(io.temporal.client.schedules.ScheduleAction
160160
workflowRequest.setHeader(grpcHeader);
161161

162162
if (wfOptions.getPriority() != null) {
163-
workflowRequest.setPriority(PriorityUtils.toProto(wfOptions.getPriority()));
163+
workflowRequest.setPriority(ProtoConverters.toProto(wfOptions.getPriority()));
164164
}
165165
if (wfOptions.getVersioningOverride() != null) {
166-
workflowRequest.setVersioningOverride(wfOptions.getVersioningOverride().toProto());
166+
workflowRequest.setVersioningOverride(
167+
ProtoConverters.toProto(wfOptions.getVersioningOverride()));
167168
}
168169

169170
return ScheduleAction.newBuilder().setStartWorkflow(workflowRequest.build()).build();
@@ -469,7 +470,7 @@ public io.temporal.client.schedules.ScheduleAction protoToAction(@Nonnull Schedu
469470
}
470471

471472
if (startWfAction.hasPriority()) {
472-
wfOptionsBuilder.setPriority(PriorityUtils.fromProto(startWfAction.getPriority()));
473+
wfOptionsBuilder.setPriority(ProtoConverters.fromProto(startWfAction.getPriority()));
473474
}
474475

475476
builder.setOptions(wfOptionsBuilder.build());

temporal-sdk/src/main/java/io/temporal/internal/client/WorkflowClientRequestFactory.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
import io.temporal.client.WorkflowOptions;
2020
import io.temporal.common.RetryOptions;
2121
import io.temporal.common.context.ContextPropagator;
22-
import io.temporal.internal.common.PriorityUtils;
22+
import io.temporal.internal.common.ProtoConverters;
2323
import io.temporal.internal.common.ProtobufTimeUtils;
2424
import io.temporal.internal.common.SearchAttributesUtil;
2525
import java.util.*;
@@ -119,11 +119,11 @@ StartWorkflowExecutionRequest.Builder newStartWorkflowExecutionRequest(
119119
}
120120

121121
if (options.getPriority() != null) {
122-
request.setPriority(PriorityUtils.toProto(options.getPriority()));
122+
request.setPriority(ProtoConverters.toProto(options.getPriority()));
123123
}
124124

125125
if (options.getVersioningOverride() != null) {
126-
request.setVersioningOverride(options.getVersioningOverride().toProto());
126+
request.setVersioningOverride(ProtoConverters.toProto(options.getVersioningOverride()));
127127
}
128128

129129
if (options.getSearchAttributes() != null && !options.getSearchAttributes().isEmpty()) {

temporal-sdk/src/main/java/io/temporal/internal/common/PriorityUtils.java

Lines changed: 0 additions & 22 deletions
This file was deleted.
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
package io.temporal.internal.common;
2+
3+
import io.temporal.api.common.v1.Priority;
4+
import io.temporal.api.enums.v1.VersioningBehavior;
5+
import io.temporal.common.VersioningOverride;
6+
import io.temporal.common.WorkerDeploymentVersion;
7+
import javax.annotation.Nonnull;
8+
9+
public class ProtoConverters {
10+
public static Priority toProto(io.temporal.common.Priority priority) {
11+
return Priority.newBuilder().setPriorityKey(priority.getPriorityKey()).build();
12+
}
13+
14+
@Nonnull
15+
public static io.temporal.common.Priority fromProto(@Nonnull Priority priority) {
16+
return io.temporal.common.Priority.newBuilder()
17+
.setPriorityKey(priority.getPriorityKey())
18+
.build();
19+
}
20+
21+
public static io.temporal.api.deployment.v1.WorkerDeploymentVersion toProto(
22+
WorkerDeploymentVersion v) {
23+
return io.temporal.api.deployment.v1.WorkerDeploymentVersion.newBuilder()
24+
.setBuildId(v.getBuildId())
25+
.setDeploymentName(v.getDeploymentName())
26+
.build();
27+
}
28+
29+
@SuppressWarnings("deprecation")
30+
public static io.temporal.api.workflow.v1.VersioningOverride toProto(VersioningOverride v) {
31+
if (v instanceof VersioningOverride.PinnedVersioningOverride) {
32+
VersioningOverride.PinnedVersioningOverride pv =
33+
(VersioningOverride.PinnedVersioningOverride) v;
34+
io.temporal.api.workflow.v1.VersioningOverride.PinnedOverride.Builder pinnedBuilder =
35+
io.temporal.api.workflow.v1.VersioningOverride.PinnedOverride.newBuilder()
36+
.setVersion(toProto(pv.getVersion()));
37+
38+
pinnedBuilder.setBehavior(
39+
io.temporal.api.workflow.v1.VersioningOverride.PinnedOverrideBehavior
40+
.PINNED_OVERRIDE_BEHAVIOR_PINNED);
41+
42+
return io.temporal.api.workflow.v1.VersioningOverride.newBuilder()
43+
.setBehavior(VersioningBehavior.VERSIONING_BEHAVIOR_PINNED)
44+
.setPinnedVersion(pv.getVersion().toCanonicalString())
45+
.setPinned(pinnedBuilder.build())
46+
.build();
47+
} else {
48+
return io.temporal.api.workflow.v1.VersioningOverride.newBuilder()
49+
.setBehavior(VersioningBehavior.VERSIONING_BEHAVIOR_AUTO_UPGRADE)
50+
.setAutoUpgrade(true)
51+
.build();
52+
}
53+
}
54+
55+
private ProtoConverters() {}
56+
}

temporal-sdk/src/main/java/io/temporal/internal/sync/SyncWorkflowContext.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -608,7 +608,7 @@ private ExecuteActivityParameters constructExecuteActivityParameters(
608608
makeUserMetaData(options.getSummary(), null, dataConverterWithCurrentWorkflowContext);
609609

610610
if (options.getPriority() != null) {
611-
attributes.setPriority(PriorityUtils.toProto(options.getPriority()));
611+
attributes.setPriority(ProtoConverters.toProto(options.getPriority()));
612612
}
613613

614614
return new ExecuteActivityParameters(attributes, options.getCancellationType(), userMetadata);
@@ -935,7 +935,7 @@ private StartChildWorkflowExecutionParameters createChildWorkflowParameters(
935935
replayContext.getTaskQueue().equals(options.getTaskQueue())));
936936
}
937937
if (options.getPriority() != null) {
938-
attributes.setPriority(PriorityUtils.toProto(options.getPriority()));
938+
attributes.setPriority(ProtoConverters.toProto(options.getPriority()));
939939
}
940940
return new StartChildWorkflowExecutionParameters(
941941
attributes, options.getCancellationType(), metadata);

temporal-sdk/src/main/java/io/temporal/internal/sync/WorkflowInfoImpl.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import io.temporal.api.common.v1.WorkflowExecution;
55
import io.temporal.common.Priority;
66
import io.temporal.common.RetryOptions;
7-
import io.temporal.internal.common.PriorityUtils;
7+
import io.temporal.internal.common.ProtoConverters;
88
import io.temporal.internal.replay.ReplayWorkflowContext;
99
import io.temporal.workflow.WorkflowInfo;
1010
import java.time.Duration;
@@ -154,7 +154,7 @@ public Optional<String> getCurrentBuildId() {
154154

155155
@Override
156156
public Priority getPriority() {
157-
return PriorityUtils.fromProto(context.getPriority());
157+
return ProtoConverters.fromProto(context.getPriority());
158158
}
159159

160160
@Override

0 commit comments

Comments
 (0)