Skip to content

Commit 1036823

Browse files
some refactoring
1 parent e7951ab commit 1036823

13 files changed

Lines changed: 174 additions & 219 deletions

File tree

temporal-opentracing/src/main/java/io/temporal/opentracing/OpenTracingClientInterceptor.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
package io.temporal.opentracing;
22

3-
import io.temporal.common.interceptors.NexusServiceClientInterceptor;
3+
import io.temporal.common.interceptors.NexusServiceClientCallsInterceptor;
44
import io.temporal.common.interceptors.WorkflowClientCallsInterceptor;
55
import io.temporal.common.interceptors.WorkflowClientInterceptorBase;
66
import io.temporal.opentracing.internal.ContextAccessor;
7-
import io.temporal.opentracing.internal.OpenTracingNexusServiceClientInterceptor;
7+
import io.temporal.opentracing.internal.OpenTracingNexusServiceClientCallsInterceptor;
88
import io.temporal.opentracing.internal.OpenTracingWorkflowClientCallsInterceptor;
99
import io.temporal.opentracing.internal.SpanFactory;
1010

@@ -31,9 +31,9 @@ public WorkflowClientCallsInterceptor workflowClientCallsInterceptor(
3131
}
3232

3333
@Override
34-
public NexusServiceClientInterceptor nexusServiceClientInterceptor(
35-
NexusServiceClientInterceptor next) {
36-
return new OpenTracingNexusServiceClientInterceptor(
34+
public NexusServiceClientCallsInterceptor nexusServiceClientInterceptor(
35+
NexusServiceClientCallsInterceptor next) {
36+
return new OpenTracingNexusServiceClientCallsInterceptor(
3737
next, options, spanFactory, contextAccessor);
3838
}
3939
}

temporal-opentracing/src/main/java/io/temporal/opentracing/internal/OpenTracingNexusServiceClientInterceptor.java renamed to temporal-opentracing/src/main/java/io/temporal/opentracing/internal/OpenTracingNexusServiceClientCallsInterceptor.java

Lines changed: 6 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,8 @@
55
import io.opentracing.Scope;
66
import io.opentracing.Span;
77
import io.opentracing.Tracer;
8-
import io.temporal.common.interceptors.NexusServiceClientInterceptor;
9-
import io.temporal.common.interceptors.NexusServiceClientInterceptor.CancelOperationInput;
10-
import io.temporal.common.interceptors.NexusServiceClientInterceptor.CancelOperationOutput;
11-
import io.temporal.common.interceptors.NexusServiceClientInterceptor.CompleteOperationAsyncInput;
12-
import io.temporal.common.interceptors.NexusServiceClientInterceptor.CompleteOperationInput;
13-
import io.temporal.common.interceptors.NexusServiceClientInterceptor.CompleteOperationOutput;
14-
import io.temporal.common.interceptors.NexusServiceClientInterceptor.FetchOperationInfoInput;
15-
import io.temporal.common.interceptors.NexusServiceClientInterceptor.FetchOperationInfoOutput;
16-
import io.temporal.common.interceptors.NexusServiceClientInterceptor.FetchOperationResultInput;
17-
import io.temporal.common.interceptors.NexusServiceClientInterceptor.FetchOperationResultOutput;
18-
import io.temporal.common.interceptors.NexusServiceClientInterceptor.StartOperationInput;
19-
import io.temporal.common.interceptors.NexusServiceClientInterceptor.StartOperationOutput;
20-
import io.temporal.common.interceptors.NexusServiceClientInterceptorBase;
8+
import io.temporal.common.interceptors.NexusServiceClientCallsInterceptor;
9+
import io.temporal.common.interceptors.NexusServiceClientCallsInterceptorBase;
2110
import io.temporal.opentracing.OpenTracingOptions;
2211
import java.util.Map;
2312
import java.util.concurrent.CompletableFuture;
@@ -26,13 +15,14 @@
2615
* Nexus service client interceptor that creates OpenTracing spans and propagates the active span
2716
* context.
2817
*/
29-
public class OpenTracingNexusServiceClientInterceptor extends NexusServiceClientInterceptorBase {
18+
public class OpenTracingNexusServiceClientCallsInterceptor
19+
extends NexusServiceClientCallsInterceptorBase {
3020
private final SpanFactory spanFactory;
3121
private final Tracer tracer;
3222
private final ContextAccessor contextAccessor;
3323

34-
public OpenTracingNexusServiceClientInterceptor(
35-
NexusServiceClientInterceptor next,
24+
public OpenTracingNexusServiceClientCallsInterceptor(
25+
NexusServiceClientCallsInterceptor next,
3626
OpenTracingOptions options,
3727
SpanFactory spanFactory,
3828
ContextAccessor contextAccessor) {
Lines changed: 7 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,50 +1,39 @@
11
package io.temporal.client;
22

33
import com.google.common.base.Strings;
4+
import io.temporal.common.Experimental;
45

6+
/** Options for configuring the Temporal Nexus Service client. */
7+
@Experimental
58
public class TemporalNexusServiceClientOptions {
69
public static Builder newBuilder() {
710
return new Builder();
811
}
912

1013
private final String endpoint;
11-
private final String taskQueue;
1214

13-
TemporalNexusServiceClientOptions(String endpoint, String taskQueue) {
15+
TemporalNexusServiceClientOptions(String endpoint) {
1416
this.endpoint = endpoint;
15-
this.taskQueue = taskQueue;
1617
}
1718

1819
public String getEndpoint() {
1920
return endpoint;
2021
}
2122

22-
public String getTaskQueue() {
23-
return taskQueue;
24-
}
25-
2623
public static final class Builder {
2724
private String endpoint;
28-
private String taskQueue;
29-
30-
public Builder setTaskQueue(String taskQueue) {
31-
this.taskQueue = taskQueue;
32-
return this;
33-
}
3425

3526
public Builder setEndpoint(String endpoint) {
3627
this.endpoint = endpoint;
3728
return this;
3829
}
3930

4031
public TemporalNexusServiceClientOptions build() {
41-
if (Strings.isNullOrEmpty(endpoint) && Strings.isNullOrEmpty(taskQueue)) {
42-
throw new IllegalArgumentException("Must provide either a task queue or an endpoint");
43-
} else if (!Strings.isNullOrEmpty(endpoint) && !Strings.isNullOrEmpty(taskQueue)) {
44-
throw new IllegalArgumentException("Must provide only a task queue or an endpoint");
32+
if (Strings.isNullOrEmpty(endpoint)) {
33+
throw new IllegalArgumentException("Must provide an endpoint");
4534
}
4635

47-
return new TemporalNexusServiceClientOptions(endpoint, taskQueue);
36+
return new TemporalNexusServiceClientOptions(endpoint);
4837
}
4938
}
5039
}

temporal-sdk/src/main/java/io/temporal/client/WorkflowClientInternalImpl.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@
1616
import io.temporal.api.workflowservice.v1.*;
1717
import io.temporal.client.WorkflowInvocationHandler.InvocationType;
1818
import io.temporal.common.WorkflowExecutionHistory;
19-
import io.temporal.common.interceptors.NexusServiceClientInterceptor;
19+
import io.temporal.common.interceptors.NexusServiceClientCallsInterceptor;
2020
import io.temporal.common.interceptors.WorkflowClientCallsInterceptor;
2121
import io.temporal.common.interceptors.WorkflowClientInterceptor;
2222
import io.temporal.internal.WorkflowThreadMarker;
2323
import io.temporal.internal.client.*;
24-
import io.temporal.internal.client.NexusServiceClientInterceptorRoot;
24+
import io.temporal.internal.client.NexusServiceClientCallsInterceptorRoot;
2525
import io.temporal.internal.client.NexusStartWorkflowResponse;
2626
import io.temporal.internal.client.external.GenericWorkflowClient;
2727
import io.temporal.internal.client.external.GenericWorkflowClientImpl;
@@ -110,27 +110,27 @@ public WorkflowServiceStubs getWorkflowServiceStubs() {
110110
@Override
111111
public <T> ServiceClient<T> newNexusServiceClient(
112112
Class<T> nexusServiceInterface, TemporalNexusServiceClientOptions serviceClientOptions) {
113-
NexusServiceClientInterceptor interceptorChain =
114-
new NexusServiceClientInterceptorRoot(genericClient, options, serviceClientOptions);
113+
NexusServiceClientCallsInterceptor interceptorChain =
114+
new NexusServiceClientCallsInterceptorRoot(genericClient, options, serviceClientOptions);
115115
for (WorkflowClientInterceptor interceptor : interceptors) {
116116
interceptorChain = interceptor.nexusServiceClientInterceptor(interceptorChain);
117117
}
118118
return new ServiceClient<>(
119119
ServiceClientOptions.newBuilder(nexusServiceInterface)
120-
.setTransport(new temporalTransport(interceptorChain))
120+
.setTransport(new temporalNexusTransport(interceptorChain))
121121
.setSerializer(new PayloadSerializer(options.getDataConverter()))
122122
.build());
123123
}
124124

125125
@Override
126126
public CompletionClient newNexusCompletionClient() {
127-
NexusServiceClientInterceptor interceptorChain =
128-
new NexusServiceClientInterceptorRoot(
127+
NexusServiceClientCallsInterceptor interceptorChain =
128+
new NexusServiceClientCallsInterceptorRoot(
129129
genericClient, options, TemporalNexusServiceClientOptions.newBuilder().build());
130130
for (WorkflowClientInterceptor interceptor : interceptors) {
131131
interceptorChain = interceptor.nexusServiceClientInterceptor(interceptorChain);
132132
}
133-
return new CompletionClient(new temporalTransport(interceptorChain));
133+
return new CompletionClient(new temporalNexusTransport(interceptorChain));
134134
}
135135

136136
@Override

temporal-sdk/src/main/java/io/temporal/client/temporalTransport.java renamed to temporal-sdk/src/main/java/io/temporal/client/temporalNexusTransport.java

Lines changed: 22 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,23 @@
33
import io.nexusrpc.OperationException;
44
import io.nexusrpc.OperationStillRunningException;
55
import io.nexusrpc.client.transport.*;
6-
import io.temporal.common.interceptors.NexusServiceClientInterceptor;
6+
import io.temporal.common.interceptors.NexusServiceClientCallsInterceptor;
77
import java.util.concurrent.CompletableFuture;
88

9-
class temporalTransport implements Transport {
10-
private final NexusServiceClientInterceptor interceptor;
9+
class temporalNexusTransport implements Transport {
10+
private final NexusServiceClientCallsInterceptor interceptor;
1111

12-
public temporalTransport(NexusServiceClientInterceptor interceptor) {
12+
public temporalNexusTransport(NexusServiceClientCallsInterceptor interceptor) {
1313
this.interceptor = interceptor;
1414
}
1515

1616
@Override
17-
public io.nexusrpc.client.transport.StartOperationResponse startOperation(
17+
public StartOperationResponse startOperation(
1818
String operationName, String serviceName, Object input, StartOperationOptions options)
1919
throws OperationException {
2020
return interceptor
2121
.startOperation(
22-
new NexusServiceClientInterceptor.StartOperationInput(
22+
new NexusServiceClientCallsInterceptor.StartOperationInput(
2323
operationName, serviceName, input, options))
2424
.getResponse();
2525
}
@@ -33,7 +33,7 @@ public FetchOperationResultResponse fetchOperationResult(
3333
throws OperationException, OperationStillRunningException {
3434
return interceptor
3535
.fetchOperationResult(
36-
new NexusServiceClientInterceptor.FetchOperationResultInput(
36+
new NexusServiceClientCallsInterceptor.FetchOperationResultInput(
3737
operationName, serviceName, operationToken, options))
3838
.getResponse();
3939
}
@@ -46,7 +46,7 @@ public FetchOperationInfoResponse fetchOperationInfo(
4646
FetchOperationInfoOptions options) {
4747
return interceptor
4848
.fetchOperationInfo(
49-
new NexusServiceClientInterceptor.FetchOperationInfoInput(
49+
new NexusServiceClientCallsInterceptor.FetchOperationInfoInput(
5050
operationName, serviceName, operationToken, options))
5151
.getResponse();
5252
}
@@ -59,15 +59,16 @@ public CancelOperationResponse cancelOperation(
5959
CancelOperationOptions options) {
6060
return interceptor
6161
.cancelOperation(
62-
new NexusServiceClientInterceptor.CancelOperationInput(
62+
new NexusServiceClientCallsInterceptor.CancelOperationInput(
6363
operationName, serviceName, operationToken, options))
6464
.getResponse();
6565
}
6666

6767
@Override
6868
public CompleteOperationResponse completeOperation(String url, CompleteOperationOptions options) {
6969
return interceptor
70-
.completeOperation(new NexusServiceClientInterceptor.CompleteOperationInput(url, options))
70+
.completeOperation(
71+
new NexusServiceClientCallsInterceptor.CompleteOperationInput(url, options))
7172
.getResponse();
7273
}
7374

@@ -76,9 +77,9 @@ public CompletableFuture<StartOperationResponse> startOperationAsync(
7677
String operationName, String serviceName, Object input, StartOperationOptions options) {
7778
return interceptor
7879
.startOperationAsync(
79-
new NexusServiceClientInterceptor.StartOperationInput(
80+
new NexusServiceClientCallsInterceptor.StartOperationInput(
8081
operationName, serviceName, input, options))
81-
.thenApply(NexusServiceClientInterceptor.StartOperationOutput::getResponse);
82+
.thenApply(NexusServiceClientCallsInterceptor.StartOperationOutput::getResponse);
8283
}
8384

8485
@Override
@@ -89,9 +90,9 @@ public CompletableFuture<FetchOperationResultResponse> fetchOperationResultAsync
8990
FetchOperationResultOptions options) {
9091
return interceptor
9192
.fetchOperationResultAsync(
92-
new NexusServiceClientInterceptor.FetchOperationResultInput(
93+
new NexusServiceClientCallsInterceptor.FetchOperationResultInput(
9394
operationName, serviceName, operationToken, options))
94-
.thenApply(NexusServiceClientInterceptor.FetchOperationResultOutput::getResponse);
95+
.thenApply(NexusServiceClientCallsInterceptor.FetchOperationResultOutput::getResponse);
9596
}
9697

9798
@Override
@@ -102,9 +103,9 @@ public CompletableFuture<FetchOperationInfoResponse> fetchOperationInfoAsync(
102103
FetchOperationInfoOptions options) {
103104
return interceptor
104105
.fetchOperationInfoAsync(
105-
new NexusServiceClientInterceptor.FetchOperationInfoInput(
106+
new NexusServiceClientCallsInterceptor.FetchOperationInfoInput(
106107
operationName, serviceName, operationToken, options))
107-
.thenApply(NexusServiceClientInterceptor.FetchOperationInfoOutput::getResponse);
108+
.thenApply(NexusServiceClientCallsInterceptor.FetchOperationInfoOutput::getResponse);
108109
}
109110

110111
@Override
@@ -115,17 +116,18 @@ public CompletableFuture<CancelOperationResponse> cancelOperationAsync(
115116
CancelOperationOptions options) {
116117
return interceptor
117118
.cancelOperationAsync(
118-
new NexusServiceClientInterceptor.CancelOperationInput(
119+
new NexusServiceClientCallsInterceptor.CancelOperationInput(
119120
operationName, serviceName, operationToken, options))
120-
.thenApply(NexusServiceClientInterceptor.CancelOperationOutput::getResponse);
121+
.thenApply(NexusServiceClientCallsInterceptor.CancelOperationOutput::getResponse);
121122
}
122123

123124
@Override
124125
public CompletableFuture<CompleteOperationResponse> completeOperationAsync(
125126
String operationToken, CompleteOperationOptions options) {
126127
return interceptor
127128
.completeOperationAsync(
128-
new NexusServiceClientInterceptor.CompleteOperationAsyncInput(operationToken, options))
129-
.thenApply(NexusServiceClientInterceptor.CompleteOperationOutput::getResponse);
129+
new NexusServiceClientCallsInterceptor.CompleteOperationAsyncInput(
130+
operationToken, options))
131+
.thenApply(NexusServiceClientCallsInterceptor.CompleteOperationOutput::getResponse);
130132
}
131133
}

temporal-sdk/src/main/java/io/temporal/common/interceptors/NexusServiceClientInterceptor.java renamed to temporal-sdk/src/main/java/io/temporal/common/interceptors/NexusServiceClientCallsInterceptor.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package io.temporal.common.interceptors;
22

3+
import io.nexusrpc.Experimental;
34
import io.nexusrpc.OperationException;
45
import io.nexusrpc.OperationStillRunningException;
56
import io.nexusrpc.client.transport.CancelOperationOptions;
@@ -16,11 +17,13 @@
1617
/**
1718
* Intercepts calls made by a {@link io.nexusrpc.client.ServiceClient}.
1819
*
19-
* <p>Prefer extending {@link NexusServiceClientInterceptorBase} and overriding only the methods you
20-
* need instead of implementing this interface directly. {@link NexusServiceClientInterceptorBase}
21-
* provides correct default implementations to all the methods of this interface.
20+
* <p>Prefer extending {@link NexusServiceClientCallsInterceptorBase} and overriding only the
21+
* methods you need instead of implementing this interface directly. {@link
22+
* NexusServiceClientCallsInterceptorBase} provides correct default implementations to all the
23+
* methods of this interface.
2224
*/
23-
public interface NexusServiceClientInterceptor {
25+
@Experimental
26+
public interface NexusServiceClientCallsInterceptor {
2427

2528
/**
2629
* Intercepts a request to start a Nexus operation.

temporal-sdk/src/main/java/io/temporal/common/interceptors/NexusServiceClientInterceptorBase.java renamed to temporal-sdk/src/main/java/io/temporal/common/interceptors/NexusServiceClientCallsInterceptorBase.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,17 @@
11
package io.temporal.common.interceptors;
22

3+
import io.nexusrpc.Experimental;
34
import io.nexusrpc.OperationException;
45
import io.nexusrpc.OperationStillRunningException;
56
import java.util.concurrent.CompletableFuture;
67

7-
/** Convenience base class for {@link NexusServiceClientInterceptor} implementations. */
8-
public class NexusServiceClientInterceptorBase implements NexusServiceClientInterceptor {
8+
/** Convenience base class for {@link NexusServiceClientCallsInterceptor} implementations. */
9+
@Experimental
10+
public class NexusServiceClientCallsInterceptorBase implements NexusServiceClientCallsInterceptor {
911

10-
private final NexusServiceClientInterceptor next;
12+
private final NexusServiceClientCallsInterceptor next;
1113

12-
public NexusServiceClientInterceptorBase(NexusServiceClientInterceptor next) {
14+
public NexusServiceClientCallsInterceptorBase(NexusServiceClientCallsInterceptor next) {
1315
this.next = next;
1416
}
1517

temporal-sdk/src/main/java/io/temporal/common/interceptors/WorkflowClientInterceptor.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,10 +48,9 @@ WorkflowStub newUntypedWorkflowStub(
4848
* @param next next interceptor in the chain
4949
* @return interceptor that should decorate calls to {@code next}
5050
*/
51-
default NexusServiceClientInterceptor nexusServiceClientInterceptor(
52-
NexusServiceClientInterceptor next) {
53-
return next;
54-
}
51+
@Experimental
52+
NexusServiceClientCallsInterceptor nexusServiceClientInterceptor(
53+
NexusServiceClientCallsInterceptor next);
5554

5655
/**
5756
* Called once during creation of WorkflowClient to create a chain of Client Workflow Interceptors

temporal-sdk/src/main/java/io/temporal/common/interceptors/WorkflowClientInterceptorBase.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@ public ActivityCompletionClient newActivityCompletionClient(ActivityCompletionCl
2929
}
3030

3131
@Override
32-
public NexusServiceClientInterceptor nexusServiceClientInterceptor(
33-
NexusServiceClientInterceptor next) {
32+
public NexusServiceClientCallsInterceptor nexusServiceClientInterceptor(
33+
NexusServiceClientCallsInterceptor next) {
3434
return next;
3535
}
3636

0 commit comments

Comments
 (0)