diff --git a/examples/src/main/java/io/dapr/examples/pubsub/http/CloudEventPublisher.java b/examples/src/main/java/io/dapr/examples/pubsub/http/CloudEventPublisher.java index 771452ed46..754ab8336e 100644 --- a/examples/src/main/java/io/dapr/examples/pubsub/http/CloudEventPublisher.java +++ b/examples/src/main/java/io/dapr/examples/pubsub/http/CloudEventPublisher.java @@ -9,6 +9,7 @@ import io.dapr.client.DaprClientBuilder; import io.dapr.client.domain.CloudEvent; import io.dapr.client.domain.Metadata; +import io.dapr.client.domain.PublishEventRequest; import io.dapr.client.domain.PublishEventRequestBuilder; import java.util.UUID; @@ -56,10 +57,9 @@ public static void main(String[] args) throws Exception { //Publishing messages client.publishEvent( - new PublishEventRequestBuilder(PUBSUB_NAME, TOPIC_NAME, cloudEvent) - .withContentType(CloudEvent.CONTENT_TYPE) - .withMetadata(singletonMap(Metadata.TTL_IN_SECONDS, MESSAGE_TTL_IN_SECONDS)) - .build()).block(); + new PublishEventRequest(PUBSUB_NAME, TOPIC_NAME, cloudEvent) + .setContentType(CloudEvent.CONTENT_TYPE) + .setMetadata(singletonMap(Metadata.TTL_IN_SECONDS, MESSAGE_TTL_IN_SECONDS))).block(); System.out.println("Published cloud event with message: " + cloudEvent.getData()); try { diff --git a/examples/src/main/java/io/dapr/examples/tracing/InvokeClient.java b/examples/src/main/java/io/dapr/examples/tracing/InvokeClient.java index 5f638199cc..ddab86ecda 100644 --- a/examples/src/main/java/io/dapr/examples/tracing/InvokeClient.java +++ b/examples/src/main/java/io/dapr/examples/tracing/InvokeClient.java @@ -48,20 +48,17 @@ public static void main(String[] args) throws Exception { try (DaprClient client = (new DaprClientBuilder()).build()) { for (String message : args) { try (Scope scope = span.makeCurrent()) { - InvokeMethodRequestBuilder builder = new InvokeMethodRequestBuilder(SERVICE_APP_ID, "proxy_echo"); - InvokeMethodRequest request = builder - .withBody(message) - .withHttpExtension(HttpExtension.POST) - .build(); + InvokeMethodRequest request = new InvokeMethodRequest(SERVICE_APP_ID, "proxy_echo") + .setBody(message) + .setHttpExtension(HttpExtension.POST); client.invokeMethod(request, TypeRef.get(byte[].class)) .map(r -> { System.out.println(new String(r)); return r; }) .flatMap(r -> { - InvokeMethodRequest sleepRequest = new InvokeMethodRequestBuilder(SERVICE_APP_ID, "proxy_sleep") - .withHttpExtension(HttpExtension.POST) - .build(); + InvokeMethodRequest sleepRequest = new InvokeMethodRequest(SERVICE_APP_ID, "proxy_sleep") + .setHttpExtension(HttpExtension.POST); return client.invokeMethod(sleepRequest, TypeRef.get(Void.class)); }).subscriberContext(getReactorContext()).block(); } diff --git a/examples/src/main/java/io/dapr/examples/tracing/README.md b/examples/src/main/java/io/dapr/examples/tracing/README.md index 99a1c2c6a4..847e45d627 100644 --- a/examples/src/main/java/io/dapr/examples/tracing/README.md +++ b/examples/src/main/java/io/dapr/examples/tracing/README.md @@ -154,20 +154,16 @@ public class TracingDemoMiddleServiceController { public Mono echo( @RequestAttribute(name = "opentelemetry-context") Context context, @RequestBody(required = false) String body) { - InvokeMethodRequestBuilder builder = new InvokeMethodRequestBuilder(INVOKE_APP_ID, "echo"); - InvokeMethodRequest request = builder - .withBody(body) - .withHttpExtension(HttpExtension.POST) - .build(); + InvokeMethodRequest request = new InvokeMethodRequest(INVOKE_APP_ID, "echo") + .setBody(body) + .setHttpExtension(HttpExtension.POST); return client.invokeMethod(request, TypeRef.get(byte[].class)).subscriberContext(getReactorContext(context)); } // ... @PostMapping(path = "/proxy_sleep") public Mono sleep(@RequestAttribute(name = "opentelemetry-context") Context context) { - InvokeMethodRequestBuilder builder = new InvokeMethodRequestBuilder(INVOKE_APP_ID, "sleep"); - InvokeMethodRequest request = builder - .withHttpExtension(HttpExtension.POST) - .build(); + InvokeMethodRequest request = new InvokeMethodRequest(INVOKE_APP_ID, "sleep") + .setHttpExtension(HttpExtension.POST); return client.invokeMethod(request, TypeRef.get(byte[].class)).subscriberContext(getReactorContext(context)).then(); } } @@ -247,20 +243,17 @@ private static final String SERVICE_APP_ID = "tracingdemoproxy"; try (DaprClient client = (new DaprClientBuilder()).build()) { for (String message : args) { try (Scope scope = span.makeCurrent()) { - InvokeMethodRequestBuilder builder = new InvokeMethodRequestBuilder(SERVICE_APP_ID, "proxy_echo"); - InvokeMethodRequest request = builder - .withBody(message) - .withHttpExtension(HttpExtension.POST) - .build(); + InvokeMethodRequest request = new InvokeMethodRequest(SERVICE_APP_ID, "proxy_echo") + .setBody(message) + .setHttpExtension(HttpExtension.POST); client.invokeMethod(request, TypeRef.get(byte[].class)) .map(r -> { System.out.println(new String(r)); return r; }) .flatMap(r -> { - InvokeMethodRequest sleepRequest = new InvokeMethodRequestBuilder(SERVICE_APP_ID, "proxy_sleep") - .withHttpExtension(HttpExtension.POST) - .build(); + InvokeMethodRequest sleepRequest = new InvokeMethodRequest(SERVICE_APP_ID, "proxy_sleep") + .setHttpExtension(HttpExtension.POST); return client.invokeMethod(sleepRequest, TypeRef.get(Void.class)); }).subscriberContext(getReactorContext()).block(); } diff --git a/examples/src/main/java/io/dapr/examples/tracing/TracingDemoMiddleServiceController.java b/examples/src/main/java/io/dapr/examples/tracing/TracingDemoMiddleServiceController.java index dc5ffce06f..46ccc6a33f 100644 --- a/examples/src/main/java/io/dapr/examples/tracing/TracingDemoMiddleServiceController.java +++ b/examples/src/main/java/io/dapr/examples/tracing/TracingDemoMiddleServiceController.java @@ -48,11 +48,9 @@ public class TracingDemoMiddleServiceController { public Mono echo( @RequestAttribute(name = "opentelemetry-context") Context context, @RequestBody(required = false) String body) { - InvokeMethodRequestBuilder builder = new InvokeMethodRequestBuilder(INVOKE_APP_ID, "echo"); - InvokeMethodRequest request = builder - .withBody(body) - .withHttpExtension(HttpExtension.POST) - .build(); + InvokeMethodRequest request = new InvokeMethodRequest(INVOKE_APP_ID, "echo") + .setBody(body) + .setHttpExtension(HttpExtension.POST); return client.invokeMethod(request, TypeRef.get(byte[].class)).subscriberContext(getReactorContext(context)); } @@ -64,10 +62,8 @@ public Mono echo( */ @PostMapping(path = "/proxy_sleep") public Mono sleep(@RequestAttribute(name = "opentelemetry-context") Context context) { - InvokeMethodRequestBuilder builder = new InvokeMethodRequestBuilder(INVOKE_APP_ID, "sleep"); - InvokeMethodRequest request = builder - .withHttpExtension(HttpExtension.POST) - .build(); + InvokeMethodRequest request = new InvokeMethodRequest(INVOKE_APP_ID, "sleep") + .setHttpExtension(HttpExtension.POST); return client.invokeMethod(request, TypeRef.get(byte[].class)).subscriberContext(getReactorContext(context)).then(); } diff --git a/sdk/pom.xml b/sdk/pom.xml index db8530271e..5e2210071f 100644 --- a/sdk/pom.xml +++ b/sdk/pom.xml @@ -175,11 +175,12 @@ LINE COVEREDRATIO - 80% + + 79% - io.dapr.utils.Constants + **/io/dapr/client/domain/**/*Builder.java diff --git a/sdk/src/main/java/io/dapr/client/AbstractDaprClient.java b/sdk/src/main/java/io/dapr/client/AbstractDaprClient.java index 8e54fe35b3..391c802800 100644 --- a/sdk/src/main/java/io/dapr/client/AbstractDaprClient.java +++ b/sdk/src/main/java/io/dapr/client/AbstractDaprClient.java @@ -11,6 +11,7 @@ import io.dapr.client.domain.ExecuteStateTransactionRequestBuilder; import io.dapr.client.domain.GetBulkSecretRequest; import io.dapr.client.domain.GetBulkSecretRequestBuilder; +import io.dapr.client.domain.GetBulkStateRequest; import io.dapr.client.domain.GetBulkStateRequestBuilder; import io.dapr.client.domain.GetSecretRequest; import io.dapr.client.domain.GetSecretRequestBuilder; @@ -82,8 +83,8 @@ public Mono publishEvent(String pubsubName, String topicName, Object data) */ @Override public Mono publishEvent(String pubsubName, String topicName, Object data, Map metadata) { - PublishEventRequest req = new PublishEventRequestBuilder(pubsubName, topicName, - data).withMetadata(metadata).build(); + PublishEventRequest req = new PublishEventRequest(pubsubName, topicName, data) + .setMetadata(metadata); return this.publishEvent(req).then(); } @@ -98,12 +99,10 @@ public Mono invokeMethod( HttpExtension httpExtension, Map metadata, TypeRef type) { - InvokeMethodRequestBuilder builder = new InvokeMethodRequestBuilder(appId, methodName); - InvokeMethodRequest req = builder - .withBody(data) - .withHttpExtension(httpExtension) - .withContentType(objectSerializer.getContentType()) - .build(); + InvokeMethodRequest req = new InvokeMethodRequest(appId, methodName) + .setBody(data) + .setHttpExtension(httpExtension) + .setContentType(objectSerializer.getContentType()); return this.invokeMethod(req, type); } @@ -231,10 +230,9 @@ public Mono invokeBinding(String bindingName, String operation, Object da @Override public Mono invokeBinding( String bindingName, String operation, Object data, Map metadata, TypeRef type) { - InvokeBindingRequest request = new InvokeBindingRequestBuilder(bindingName, operation) - .withData(data) - .withMetadata(metadata) - .build(); + InvokeBindingRequest request = new InvokeBindingRequest(bindingName, operation) + .setData(data) + .setMetadata(metadata); return this.invokeBinding(request, type); } @@ -286,9 +284,8 @@ public Mono> getState(String storeName, String key, Class clazz) @Override public Mono> getState( String storeName, String key, StateOptions options, TypeRef type) { - GetStateRequest request = new GetStateRequestBuilder(storeName, key) - .withStateOptions(options) - .build(); + GetStateRequest request = new GetStateRequest(storeName, key) + .setStateOptions(options); return this.getState(request, type); } @@ -307,7 +304,7 @@ public Mono> getState( */ @Override public Mono>> getBulkState(String storeName, List keys, TypeRef type) { - return this.getBulkState(new GetBulkStateRequestBuilder(storeName, keys).build(), type); + return this.getBulkState(new GetBulkStateRequest(storeName, keys), type); } /** @@ -324,9 +321,8 @@ public Mono>> getBulkState(String storeName, List keys @Override public Mono executeStateTransaction(String storeName, List> operations) { - ExecuteStateTransactionRequest request = new ExecuteStateTransactionRequestBuilder(storeName) - .withTransactionalStates(operations) - .build(); + ExecuteStateTransactionRequest request = new ExecuteStateTransactionRequest(storeName) + .setOperations(operations); return executeStateTransaction(request).then(); } @@ -335,9 +331,8 @@ public Mono executeStateTransaction(String storeName, */ @Override public Mono saveBulkState(String storeName, List> states) { - SaveStateRequest request = new SaveStateRequestBuilder(storeName) - .withStates(states) - .build(); + SaveStateRequest request = new SaveStateRequest(storeName) + .setStates(states); return this.saveBulkState(request).then(); } @@ -371,10 +366,9 @@ public Mono deleteState(String storeName, String key) { */ @Override public Mono deleteState(String storeName, String key, String etag, StateOptions options) { - DeleteStateRequest request = new DeleteStateRequestBuilder(storeName, key) - .withEtag(etag) - .withStateOptions(options) - .build(); + DeleteStateRequest request = new DeleteStateRequest(storeName, key) + .setEtag(etag) + .setStateOptions(options); return deleteState(request).then(); } @@ -383,9 +377,8 @@ public Mono deleteState(String storeName, String key, String etag, StateOp */ @Override public Mono> getSecret(String storeName, String key, Map metadata) { - GetSecretRequest request = new GetSecretRequestBuilder(storeName, key) - .withMetadata(metadata) - .build(); + GetSecretRequest request = new GetSecretRequest(storeName, key) + .setMetadata(metadata); return getSecret(request).defaultIfEmpty(Collections.emptyMap()); } @@ -410,9 +403,8 @@ public Mono>> getBulkSecret(String storeName) { */ @Override public Mono>> getBulkSecret(String storeName, Map metadata) { - GetBulkSecretRequest request = new GetBulkSecretRequestBuilder(storeName) - .withMetadata(metadata) - .build(); + GetBulkSecretRequest request = new GetBulkSecretRequest(storeName) + .setMetadata(metadata); return this.getBulkSecret(request).defaultIfEmpty(Collections.emptyMap()); } diff --git a/sdk/src/main/java/io/dapr/client/domain/DeleteStateRequest.java b/sdk/src/main/java/io/dapr/client/domain/DeleteStateRequest.java index de4c666146..3a4bf46032 100644 --- a/sdk/src/main/java/io/dapr/client/domain/DeleteStateRequest.java +++ b/sdk/src/main/java/io/dapr/client/domain/DeleteStateRequest.java @@ -13,9 +13,9 @@ */ public class DeleteStateRequest { - private String stateStoreName; + private final String stateStoreName; - private String key; + private final String key; private Map metadata; @@ -23,43 +23,43 @@ public class DeleteStateRequest { private StateOptions stateOptions; - public String getStateStoreName() { - return stateStoreName; + public DeleteStateRequest(String storeName, String key) { + this.stateStoreName = storeName; + this.key = key; } - void setStateStoreName(String stateStoreName) { - this.stateStoreName = stateStoreName; + public String getStateStoreName() { + return stateStoreName; } public String getKey() { return key; } - void setKey(String key) { - this.key = key; - } - public String getEtag() { return etag; } - void setEtag(String etag) { + public DeleteStateRequest setEtag(String etag) { this.etag = etag; + return this; } public StateOptions getStateOptions() { return stateOptions; } - void setStateOptions(StateOptions stateOptions) { + public DeleteStateRequest setStateOptions(StateOptions stateOptions) { this.stateOptions = stateOptions; + return this; } public Map getMetadata() { return metadata; } - void setMetadata(Map metadata) { - this.metadata = metadata == null ? Collections.emptyMap() : metadata; + public DeleteStateRequest setMetadata(Map metadata) { + this.metadata = metadata == null ? null : Collections.unmodifiableMap(metadata); + return this; } } diff --git a/sdk/src/main/java/io/dapr/client/domain/DeleteStateRequestBuilder.java b/sdk/src/main/java/io/dapr/client/domain/DeleteStateRequestBuilder.java index 57f6780ee9..61dda9663a 100644 --- a/sdk/src/main/java/io/dapr/client/domain/DeleteStateRequestBuilder.java +++ b/sdk/src/main/java/io/dapr/client/domain/DeleteStateRequestBuilder.java @@ -10,7 +10,10 @@ /** * Builds a request to delete a state by key. + * Deprecated in favor of @see{@link DeleteStateRequest}. + * Deprecated since SDK version 1.3.0, slated for removal in SDK version 1.5.0. */ +@Deprecated public class DeleteStateRequestBuilder { private final String stateStoreName; @@ -45,12 +48,11 @@ public DeleteStateRequestBuilder withStateOptions(StateOptions stateOptions) { /** * Builds a request object. + * * @return Request object. */ public DeleteStateRequest build() { - DeleteStateRequest request = new DeleteStateRequest(); - request.setStateStoreName(this.stateStoreName); - request.setKey(this.key); + DeleteStateRequest request = new DeleteStateRequest(this.stateStoreName, this.key); request.setMetadata(metadata); request.setEtag(this.etag); request.setStateOptions(this.stateOptions); diff --git a/sdk/src/main/java/io/dapr/client/domain/ExecuteStateTransactionRequest.java b/sdk/src/main/java/io/dapr/client/domain/ExecuteStateTransactionRequest.java index 960535b3fe..09d18802ee 100644 --- a/sdk/src/main/java/io/dapr/client/domain/ExecuteStateTransactionRequest.java +++ b/sdk/src/main/java/io/dapr/client/domain/ExecuteStateTransactionRequest.java @@ -5,6 +5,7 @@ package io.dapr.client.domain; +import java.util.Collections; import java.util.List; import java.util.Map; @@ -18,29 +19,35 @@ public class ExecuteStateTransactionRequest { /** * Transactional operations list. */ - private final List> operations; + private List> operations; /** * Metadata used for transactional operations. */ - private final Map metadata; + private Map metadata; - ExecuteStateTransactionRequest(String stateStoreName, - List> operations, - Map metadata) { + public ExecuteStateTransactionRequest(String stateStoreName) { this.stateStoreName = stateStoreName; - this.operations = operations; - this.metadata = metadata; } public String getStateStoreName() { return stateStoreName; } + public ExecuteStateTransactionRequest setOperations(List> operations) { + this.operations = operations == null ? null : Collections.unmodifiableList(operations); + return this; + } + public List> getOperations() { return operations; } + public ExecuteStateTransactionRequest setMetadata(Map metadata) { + this.metadata = metadata == null ? null : Collections.unmodifiableMap(metadata); + return this; + } + public Map getMetadata() { return metadata; } diff --git a/sdk/src/main/java/io/dapr/client/domain/ExecuteStateTransactionRequestBuilder.java b/sdk/src/main/java/io/dapr/client/domain/ExecuteStateTransactionRequestBuilder.java index 434d6bf32b..93a9a58549 100644 --- a/sdk/src/main/java/io/dapr/client/domain/ExecuteStateTransactionRequestBuilder.java +++ b/sdk/src/main/java/io/dapr/client/domain/ExecuteStateTransactionRequestBuilder.java @@ -10,6 +10,11 @@ import java.util.List; import java.util.Map; +/** + * Deprecated in favor of @see{@link ExecuteStateTransactionRequest}. + * Deprecated since SDK version 1.3.0, slated for removal in SDK version 1.5.0. + */ +@Deprecated public final class ExecuteStateTransactionRequestBuilder { private final String storeName; private List> transactionalStates; @@ -37,6 +42,7 @@ public ExecuteStateTransactionRequestBuilder withMetadata(Map me } public ExecuteStateTransactionRequest build() { - return new ExecuteStateTransactionRequest(storeName, transactionalStates, metadata); + return new ExecuteStateTransactionRequest(storeName) + .setMetadata(metadata).setOperations(transactionalStates); } } diff --git a/sdk/src/main/java/io/dapr/client/domain/GetBulkSecretRequest.java b/sdk/src/main/java/io/dapr/client/domain/GetBulkSecretRequest.java index 4ff949ff53..25cb91b44e 100644 --- a/sdk/src/main/java/io/dapr/client/domain/GetBulkSecretRequest.java +++ b/sdk/src/main/java/io/dapr/client/domain/GetBulkSecretRequest.java @@ -5,6 +5,7 @@ package io.dapr.client.domain; +import java.util.Collections; import java.util.Map; /** @@ -12,23 +13,24 @@ */ public class GetBulkSecretRequest { - private String storeName; + private final String storeName; private Map metadata; - public String getStoreName() { - return storeName; + public GetBulkSecretRequest(String storeName) { + this.storeName = storeName; } - void setStoreName(String storeName) { - this.storeName = storeName; + public String getStoreName() { + return storeName; } public Map getMetadata() { return metadata; } - void setMetadata(Map metadata) { - this.metadata = metadata; + public GetBulkSecretRequest setMetadata(Map metadata) { + this.metadata = metadata == null ? null : Collections.unmodifiableMap(metadata); + return this; } } diff --git a/sdk/src/main/java/io/dapr/client/domain/GetBulkSecretRequestBuilder.java b/sdk/src/main/java/io/dapr/client/domain/GetBulkSecretRequestBuilder.java index db54d9e132..cab4ff5a74 100644 --- a/sdk/src/main/java/io/dapr/client/domain/GetBulkSecretRequestBuilder.java +++ b/sdk/src/main/java/io/dapr/client/domain/GetBulkSecretRequestBuilder.java @@ -10,7 +10,10 @@ /** * Builds a request to fetch all secrets of a secret store. + * Deprecated in favor of @see{@link GetBulkSecretRequest}. + * Deprecated since SDK version 1.3.0, slated for removal in SDK version 1.5.0. */ +@Deprecated public class GetBulkSecretRequestBuilder { private final String storeName; @@ -28,13 +31,12 @@ public GetBulkSecretRequestBuilder withMetadata(Map metadata) { /** * Builds a request object. + * * @return Request object. */ public GetBulkSecretRequest build() { - GetBulkSecretRequest request = new GetBulkSecretRequest(); - request.setStoreName(this.storeName); - request.setMetadata(this.metadata); - return request; + GetBulkSecretRequest request = new GetBulkSecretRequest(storeName); + return request.setMetadata(this.metadata); } } diff --git a/sdk/src/main/java/io/dapr/client/domain/GetBulkStateRequest.java b/sdk/src/main/java/io/dapr/client/domain/GetBulkStateRequest.java index e903aae2e9..a8c45d5139 100644 --- a/sdk/src/main/java/io/dapr/client/domain/GetBulkStateRequest.java +++ b/sdk/src/main/java/io/dapr/client/domain/GetBulkStateRequest.java @@ -5,6 +5,8 @@ package io.dapr.client.domain; +import java.util.Arrays; +import java.util.Collections; import java.util.List; import java.util.Map; @@ -13,43 +15,47 @@ */ public class GetBulkStateRequest { - private String storeName; + private final String storeName; - private List keys; + private final List keys; private Map metadata; - private int parallelism; + private int parallelism = 1; - public String getStoreName() { - return storeName; + public GetBulkStateRequest(String storeName, List keys) { + this.storeName = storeName; + this.keys = keys == null ? null : Collections.unmodifiableList(keys); } - void setStoreName(String storeName) { + public GetBulkStateRequest(String storeName, String... keys) { this.storeName = storeName; + this.keys = keys == null ? null : Collections.unmodifiableList(Arrays.asList(keys)); } - public List getKeys() { - return keys; + public String getStoreName() { + return storeName; } - void setKeys(List keys) { - this.keys = keys; + public List getKeys() { + return keys; } public int getParallelism() { return parallelism; } - void setParallelism(int parallelism) { + public GetBulkStateRequest setParallelism(int parallelism) { this.parallelism = parallelism; + return this; } public Map getMetadata() { return metadata; } - void setMetadata(Map metadata) { - this.metadata = metadata; + public GetBulkStateRequest setMetadata(Map metadata) { + this.metadata = metadata == null ? null : Collections.unmodifiableMap(metadata); + return this; } } diff --git a/sdk/src/main/java/io/dapr/client/domain/GetBulkStateRequestBuilder.java b/sdk/src/main/java/io/dapr/client/domain/GetBulkStateRequestBuilder.java index 6fbf58ffbe..c458a691de 100644 --- a/sdk/src/main/java/io/dapr/client/domain/GetBulkStateRequestBuilder.java +++ b/sdk/src/main/java/io/dapr/client/domain/GetBulkStateRequestBuilder.java @@ -12,7 +12,10 @@ /** * Builds a request to request states. + * Deprecated in favor of @see{@link GetBulkStateRequest}. + * Deprecated since SDK version 1.3.0, slated for removal in SDK version 1.5.0. */ +@Deprecated public class GetBulkStateRequestBuilder { private final String storeName; @@ -45,15 +48,13 @@ public GetBulkStateRequestBuilder withParallelism(int parallelism) { /** * Builds a request object. + * * @return Request object. */ public GetBulkStateRequest build() { - GetBulkStateRequest request = new GetBulkStateRequest(); - request.setStoreName(this.storeName); - request.setKeys(this.keys); - request.setMetadata(this.metadata); - request.setParallelism(this.parallelism); - return request; + GetBulkStateRequest request = new GetBulkStateRequest(storeName, keys); + return request.setMetadata(this.metadata) + .setParallelism(this.parallelism); } } diff --git a/sdk/src/main/java/io/dapr/client/domain/GetSecretRequest.java b/sdk/src/main/java/io/dapr/client/domain/GetSecretRequest.java index 6f5832c191..f1e7de85fc 100644 --- a/sdk/src/main/java/io/dapr/client/domain/GetSecretRequest.java +++ b/sdk/src/main/java/io/dapr/client/domain/GetSecretRequest.java @@ -5,6 +5,7 @@ package io.dapr.client.domain; +import java.util.Collections; import java.util.Map; /** @@ -12,9 +13,14 @@ */ public class GetSecretRequest { - private String storeName; + private final String storeName; - private String key; + private final String key; + + public GetSecretRequest(String storeName, String key) { + this.storeName = storeName; + this.key = key; + } private Map metadata; @@ -22,23 +28,16 @@ public String getStoreName() { return storeName; } - void setStoreName(String storeName) { - this.storeName = storeName; - } - public String getKey() { return key; } - void setKey(String key) { - this.key = key; - } - public Map getMetadata() { return metadata; } - void setMetadata(Map metadata) { - this.metadata = metadata; + public GetSecretRequest setMetadata(Map metadata) { + this.metadata = metadata == null ? null : Collections.unmodifiableMap(metadata); + return this; } } diff --git a/sdk/src/main/java/io/dapr/client/domain/GetSecretRequestBuilder.java b/sdk/src/main/java/io/dapr/client/domain/GetSecretRequestBuilder.java index dd06ad5357..ec146460fd 100644 --- a/sdk/src/main/java/io/dapr/client/domain/GetSecretRequestBuilder.java +++ b/sdk/src/main/java/io/dapr/client/domain/GetSecretRequestBuilder.java @@ -10,7 +10,10 @@ /** * Builds a request to publish an event. + * Deprecated in favor of @see{@link GetSecretRequest}. + * Deprecated since SDK version 1.3.0, slated for removal in SDK version 1.5.0 */ +@Deprecated public class GetSecretRequestBuilder { private final String storeName; @@ -31,14 +34,12 @@ public GetSecretRequestBuilder withMetadata(Map metadata) { /** * Builds a request object. + * * @return Request object. */ public GetSecretRequest build() { - GetSecretRequest request = new GetSecretRequest(); - request.setStoreName(this.storeName); - request.setKey(this.key); - request.setMetadata(this.metadata); - return request; + GetSecretRequest request = new GetSecretRequest(storeName, key); + return request.setMetadata(this.metadata); } } diff --git a/sdk/src/main/java/io/dapr/client/domain/GetStateRequest.java b/sdk/src/main/java/io/dapr/client/domain/GetStateRequest.java index 21091b3293..bc9c983902 100644 --- a/sdk/src/main/java/io/dapr/client/domain/GetStateRequest.java +++ b/sdk/src/main/java/io/dapr/client/domain/GetStateRequest.java @@ -13,43 +13,42 @@ */ public class GetStateRequest { - private String storeName; + private final String storeName; - private String key; + private final String key; private Map metadata; private StateOptions stateOptions; - public String getStoreName() { - return storeName; + public GetStateRequest(String storeName, String key) { + this.storeName = storeName; + this.key = key; } - void setStoreName(String storeName) { - this.storeName = storeName; + public String getStoreName() { + return storeName; } public String getKey() { return key; } - void setKey(String key) { - this.key = key; - } - public StateOptions getStateOptions() { return stateOptions; } - void setStateOptions(StateOptions stateOptions) { + public GetStateRequest setStateOptions(StateOptions stateOptions) { this.stateOptions = stateOptions; + return this; } public Map getMetadata() { return metadata; } - void setMetadata(Map metadata) { - this.metadata = metadata == null ? Collections.emptyMap() : metadata; + public GetStateRequest setMetadata(Map metadata) { + this.metadata = metadata == null ? null : Collections.unmodifiableMap(metadata); + return this; } } diff --git a/sdk/src/main/java/io/dapr/client/domain/GetStateRequestBuilder.java b/sdk/src/main/java/io/dapr/client/domain/GetStateRequestBuilder.java index 7fcf83895f..7c549b0b51 100644 --- a/sdk/src/main/java/io/dapr/client/domain/GetStateRequestBuilder.java +++ b/sdk/src/main/java/io/dapr/client/domain/GetStateRequestBuilder.java @@ -10,7 +10,10 @@ /** * Builds a request to request state. + * Deprecated in favor of @see{@link GetStateRequest}. + * Deprecated since SDK version 1.3.0, slated for removal in SDK version 1.5.0 */ +@Deprecated public class GetStateRequestBuilder { private final String storeName; @@ -38,15 +41,13 @@ public GetStateRequestBuilder withStateOptions(StateOptions stateOptions) { /** * Builds a request object. + * * @return Request object. */ public GetStateRequest build() { - GetStateRequest request = new GetStateRequest(); - request.setStoreName(this.storeName); - request.setKey(this.key); - request.setMetadata(this.metadata); - request.setStateOptions(this.stateOptions); - return request; + GetStateRequest request = new GetStateRequest(storeName, key); + return request.setMetadata(this.metadata) + .setStateOptions(this.stateOptions); } } diff --git a/sdk/src/main/java/io/dapr/client/domain/InvokeBindingRequest.java b/sdk/src/main/java/io/dapr/client/domain/InvokeBindingRequest.java index 4855874dcb..0bd13cda44 100644 --- a/sdk/src/main/java/io/dapr/client/domain/InvokeBindingRequest.java +++ b/sdk/src/main/java/io/dapr/client/domain/InvokeBindingRequest.java @@ -5,6 +5,7 @@ package io.dapr.client.domain; +import java.util.Collections; import java.util.Map; /** @@ -12,43 +13,42 @@ */ public class InvokeBindingRequest { - private String name; + private final String name; - private String operation; + private final String operation; private Object data; private Map metadata; - public String getName() { - return name; + public InvokeBindingRequest(String bindingName, String operation) { + this.name = bindingName; + this.operation = operation; } - void setName(String name) { - this.name = name; + public String getName() { + return name; } public String getOperation() { return operation; } - void setOperation(String operation) { - this.operation = operation; - } - public Object getData() { return data; } - void setData(Object data) { + public InvokeBindingRequest setData(Object data) { this.data = data; + return this; } public Map getMetadata() { return metadata; } - void setMetadata(Map metadata) { - this.metadata = metadata; + public InvokeBindingRequest setMetadata(Map metadata) { + this.metadata = metadata == null ? null : Collections.unmodifiableMap(metadata); + return this; } } diff --git a/sdk/src/main/java/io/dapr/client/domain/InvokeBindingRequestBuilder.java b/sdk/src/main/java/io/dapr/client/domain/InvokeBindingRequestBuilder.java index fb6526621c..0fb1d91f86 100644 --- a/sdk/src/main/java/io/dapr/client/domain/InvokeBindingRequestBuilder.java +++ b/sdk/src/main/java/io/dapr/client/domain/InvokeBindingRequestBuilder.java @@ -11,7 +11,10 @@ /** * Builds a request to publish an event. + * Deprecated in favor of @see{@link InvokeBindingRequest}. + * Deprecated since SDK version 1.3.0, slated for removal in SDK version 1.5.0 */ +@Deprecated public class InvokeBindingRequestBuilder { private final String name; @@ -39,15 +42,13 @@ public InvokeBindingRequestBuilder withMetadata(Map metadata) { /** * Builds a request object. + * * @return Request object. */ public InvokeBindingRequest build() { - InvokeBindingRequest request = new InvokeBindingRequest(); - request.setName(this.name); - request.setOperation(this.operation); - request.setData(this.data); - request.setMetadata(this.metadata); - return request; + InvokeBindingRequest request = new InvokeBindingRequest(name, operation); + return request.setData(this.data) + .setMetadata(this.metadata); } } diff --git a/sdk/src/main/java/io/dapr/client/domain/InvokeMethodRequest.java b/sdk/src/main/java/io/dapr/client/domain/InvokeMethodRequest.java index 90b0859ced..2f21734990 100644 --- a/sdk/src/main/java/io/dapr/client/domain/InvokeMethodRequest.java +++ b/sdk/src/main/java/io/dapr/client/domain/InvokeMethodRequest.java @@ -10,9 +10,9 @@ */ public class InvokeMethodRequest { - private String appId; + private final String appId; - private String method; + private final String method; private Object body; @@ -20,43 +20,43 @@ public class InvokeMethodRequest { private String contentType; - public String getAppId() { - return appId; + public InvokeMethodRequest(String appId, String method) { + this.appId = appId; + this.method = method; } - void setAppId(String appId) { - this.appId = appId; + public String getAppId() { + return appId; } public String getMethod() { return method; } - void setMethod(String method) { - this.method = method; - } - public Object getBody() { return body; } - void setBody(Object body) { + public InvokeMethodRequest setBody(Object body) { this.body = body; + return this; } public HttpExtension getHttpExtension() { return httpExtension; } - void setHttpExtension(HttpExtension httpExtension) { + public InvokeMethodRequest setHttpExtension(HttpExtension httpExtension) { this.httpExtension = httpExtension; + return this; } public String getContentType() { return contentType; } - void setContentType(String contentType) { + public InvokeMethodRequest setContentType(String contentType) { this.contentType = contentType; + return this; } } diff --git a/sdk/src/main/java/io/dapr/client/domain/InvokeMethodRequestBuilder.java b/sdk/src/main/java/io/dapr/client/domain/InvokeMethodRequestBuilder.java index db9f3791a6..f2b186aa13 100644 --- a/sdk/src/main/java/io/dapr/client/domain/InvokeMethodRequestBuilder.java +++ b/sdk/src/main/java/io/dapr/client/domain/InvokeMethodRequestBuilder.java @@ -7,7 +7,10 @@ /** * Builds a request to invoke a service. + * Deprecated in favor of @see{@link InvokeMethodRequest}. + * Deprecated since SDK version 1.3.0, slated for removal in SDK version 1.5.0 */ +@Deprecated public class InvokeMethodRequestBuilder { private final String appId; @@ -42,16 +45,14 @@ public InvokeMethodRequestBuilder withHttpExtension(HttpExtension httpExtension) /** * Builds a request object. + * * @return Request object. */ public InvokeMethodRequest build() { - InvokeMethodRequest request = new InvokeMethodRequest(); - request.setAppId(this.appId); - request.setContentType(contentType); - request.setMethod(this.method); - request.setBody(this.body); - request.setHttpExtension(this.httpExtension); - return request; + InvokeMethodRequest request = new InvokeMethodRequest(appId, method); + return request.setBody(this.body) + .setContentType(contentType) + .setHttpExtension(this.httpExtension); } } diff --git a/sdk/src/main/java/io/dapr/client/domain/PublishEventRequest.java b/sdk/src/main/java/io/dapr/client/domain/PublishEventRequest.java index b4c28b4505..1f55aec801 100644 --- a/sdk/src/main/java/io/dapr/client/domain/PublishEventRequest.java +++ b/sdk/src/main/java/io/dapr/client/domain/PublishEventRequest.java @@ -5,6 +5,8 @@ package io.dapr.client.domain; +import java.util.Collections; +import java.util.HashMap; import java.util.Map; /** @@ -12,53 +14,55 @@ */ public class PublishEventRequest { - private String pubsubName; + private final String pubsubName; - private String topic; + private final String topic; - private Object data; + private final Object data; private String contentType; - private Map metadata; + private Map metadata = new HashMap<>(); - public String getPubsubName() { - return pubsubName; + /** + * Constructor for PublishEventRequest. + * @param pubsubName name of the pubsub + * @param topic name of the topic in the pubsub + * @param data data to published + */ + public PublishEventRequest(String pubsubName, String topic, Object data) { + this.pubsubName = pubsubName; + this.topic = topic; + this.data = data; } - void setPubsubName(String pubsubName) { - this.pubsubName = pubsubName; + public String getPubsubName() { + return pubsubName; } public String getTopic() { return topic; } - void setTopic(String topic) { - this.topic = topic; - } - public Object getData() { return data; } - void setData(Object data) { - this.data = data; - } - public String getContentType() { return this.contentType; } - void setContentType(String contentType) { + public PublishEventRequest setContentType(String contentType) { this.contentType = contentType; + return this; } public Map getMetadata() { return metadata; } - void setMetadata(Map metadata) { - this.metadata = metadata; + public PublishEventRequest setMetadata(Map metadata) { + this.metadata = metadata == null ? null : Collections.unmodifiableMap(metadata); + return this; } } diff --git a/sdk/src/main/java/io/dapr/client/domain/PublishEventRequestBuilder.java b/sdk/src/main/java/io/dapr/client/domain/PublishEventRequestBuilder.java index 71cf8cc703..0c8a4e902a 100644 --- a/sdk/src/main/java/io/dapr/client/domain/PublishEventRequestBuilder.java +++ b/sdk/src/main/java/io/dapr/client/domain/PublishEventRequestBuilder.java @@ -11,7 +11,10 @@ /** * Builds a request to publish an event. + * Deprecated in favor of @see{@link PublishEventRequest}. + * Deprecated since SDK version 1.3.0, slated for removal in SDK version 1.5.0 */ +@Deprecated public class PublishEventRequestBuilder { private final String pubsubName; @@ -26,9 +29,10 @@ public class PublishEventRequestBuilder { /** * Instantiates a builder for a publish request. + * * @param pubsubName Name of the Dapr PubSub. - * @param topic Topic name. - * @param data Data to be published. + * @param topic Topic name. + * @param data Data to be published. */ public PublishEventRequestBuilder(String pubsubName, String topic, Object data) { this.pubsubName = pubsubName; @@ -48,16 +52,13 @@ public PublishEventRequestBuilder withMetadata(Map metadata) { /** * Builds a request object. + * * @return Request object. */ public PublishEventRequest build() { - PublishEventRequest request = new PublishEventRequest(); - request.setPubsubName(this.pubsubName); - request.setTopic(this.topic); - request.setData(this.data); - request.setContentType(this.contentType); - request.setMetadata(this.metadata); - return request; + PublishEventRequest request = new PublishEventRequest(pubsubName, topic, data); + return request.setContentType(this.contentType) + .setMetadata(this.metadata); } } diff --git a/sdk/src/main/java/io/dapr/client/domain/SaveStateRequest.java b/sdk/src/main/java/io/dapr/client/domain/SaveStateRequest.java index 1e728f349e..b80121efdb 100644 --- a/sdk/src/main/java/io/dapr/client/domain/SaveStateRequest.java +++ b/sdk/src/main/java/io/dapr/client/domain/SaveStateRequest.java @@ -5,6 +5,8 @@ package io.dapr.client.domain; +import java.util.Arrays; +import java.util.Collections; import java.util.List; /** @@ -12,23 +14,29 @@ */ public class SaveStateRequest { - private String storeName; + private final String storeName; private List> states; - public String getStoreName() { - return storeName; + public SaveStateRequest(String storeName) { + this.storeName = storeName; } - void setStoreName(String storeName) { - this.storeName = storeName; + public String getStoreName() { + return storeName; } public List> getStates() { return states; } - void setStates(List> states) { - this.states = states; + public SaveStateRequest setStates(List> states) { + this.states = states == null ? null : Collections.unmodifiableList(states); + return this; + } + + public SaveStateRequest setStates(State... states) { + this.states = Collections.unmodifiableList(Arrays.asList(states)); + return this; } } diff --git a/sdk/src/main/java/io/dapr/client/domain/SaveStateRequestBuilder.java b/sdk/src/main/java/io/dapr/client/domain/SaveStateRequestBuilder.java index b547751bb2..03b6cdd746 100644 --- a/sdk/src/main/java/io/dapr/client/domain/SaveStateRequestBuilder.java +++ b/sdk/src/main/java/io/dapr/client/domain/SaveStateRequestBuilder.java @@ -12,7 +12,10 @@ /** * A request to save states to state store. + * Deprecated in favor of @see{@link SaveStateRequest}. + * Deprecated since SDK version 1.3.0, slated for removal in SDK version 1.5.0 */ +@Deprecated public class SaveStateRequestBuilder { private final String storeName; @@ -35,12 +38,11 @@ public SaveStateRequestBuilder withStates(List> states) { /** * Builds a request object. + * * @return Request object. */ public SaveStateRequest build() { - SaveStateRequest request = new SaveStateRequest(); - request.setStoreName(this.storeName); - request.setStates(this.states); - return request; + SaveStateRequest request = new SaveStateRequest(storeName); + return request.setStates(this.states); } } diff --git a/sdk/src/test/java/io/dapr/client/DaprClientGrpcTelemetryTest.java b/sdk/src/test/java/io/dapr/client/DaprClientGrpcTelemetryTest.java index a9658ad6ef..3c0018e6f9 100644 --- a/sdk/src/test/java/io/dapr/client/DaprClientGrpcTelemetryTest.java +++ b/sdk/src/test/java/io/dapr/client/DaprClientGrpcTelemetryTest.java @@ -178,10 +178,9 @@ public void invokeServiceVoidWithTracingTest() { } } final Context contextCopy = context; - InvokeMethodRequest req = new InvokeMethodRequestBuilder("appId", "method") - .withBody("request") - .withHttpExtension(HttpExtension.NONE) - .build(); + InvokeMethodRequest req = new InvokeMethodRequest("appId", "method") + .setBody("request") + .setHttpExtension(HttpExtension.NONE); Mono result = this.client.invokeMethod(req, TypeRef.get(Void.class)) .subscriberContext(it -> it.putAll(contextCopy == null ? Context.empty() : contextCopy)); result.block(); diff --git a/sdk/src/test/java/io/dapr/client/DaprClientGrpcTest.java b/sdk/src/test/java/io/dapr/client/DaprClientGrpcTest.java index c1fb29bc2b..5091803ae8 100644 --- a/sdk/src/test/java/io/dapr/client/DaprClientGrpcTest.java +++ b/sdk/src/test/java/io/dapr/client/DaprClientGrpcTest.java @@ -252,9 +252,8 @@ public void publishEventContentTypeOverrideTest() { Mono result = client.publishEvent( - new PublishEventRequestBuilder("pubsubname", "topic", "hello") - .withContentType("text/plain") - .build()); + new PublishEventRequest("pubsubname", "topic", "hello") + .setContentType("text/plain")); result.block(); } @@ -1004,9 +1003,9 @@ public void getStateObjectValueWithMetadataTest() throws IOException { .setData(serialize(expectedValue)) .setEtag(etag) .build(); - GetStateRequestBuilder builder = new GetStateRequestBuilder(STATE_STORE_NAME, key); - builder.withMetadata(metadata).withStateOptions(options); - GetStateRequest request = builder.build(); + GetStateRequest request = new GetStateRequest(STATE_STORE_NAME, key) + .setMetadata(metadata) + .setStateOptions(options); doAnswer((Answer) invocation -> { StreamObserver observer = (StreamObserver) invocation.getArguments()[1]; observer.onNext(responseEnvelope); @@ -1065,10 +1064,9 @@ public void getStatesIllegalArgumentExceptionTest() { client.getBulkState(STATE_STORE_NAME, Collections.emptyList(), String.class).block(); }); // negative parallelism - GetBulkStateRequest req = new GetBulkStateRequestBuilder(STATE_STORE_NAME, Collections.singletonList("100")) - .withMetadata(new HashMap<>()) - .withParallelism(-1) - .build(); + GetBulkStateRequest req = new GetBulkStateRequest(STATE_STORE_NAME, Collections.singletonList("100")) + .setMetadata(new HashMap<>()) + .setParallelism(-1); assertThrows(IllegalArgumentException.class, () -> client.getBulkState(req, TypeRef.BOOLEAN).block()); } @@ -1359,9 +1357,10 @@ public void deleteStateWithMetadata() { return null; }).when(daprStub).deleteState(any(DaprProtos.DeleteStateRequest.class), any()); - DeleteStateRequestBuilder builder = new DeleteStateRequestBuilder(STATE_STORE_NAME, key); - builder.withEtag(etag).withStateOptions(options).withMetadata(metadata); - DeleteStateRequest request = builder.build(); + DeleteStateRequest request = new DeleteStateRequest(STATE_STORE_NAME, key); + request.setEtag(etag) + .setStateOptions(options) + .setMetadata(metadata); Mono result = client.deleteState(request); result.block(); } @@ -1460,9 +1459,8 @@ public void executeTransactionSerializerExceptionTest() throws IOException { TransactionalStateOperation upsertOperation = new TransactionalStateOperation<>( TransactionalStateOperation.OperationType.UPSERT, stateKey); - ExecuteStateTransactionRequest request = new ExecuteStateTransactionRequestBuilder(STATE_STORE_NAME) - .withTransactionalStates(upsertOperation) - .build(); + ExecuteStateTransactionRequest request = new ExecuteStateTransactionRequest(STATE_STORE_NAME) + .setOperations(Collections.singletonList(upsertOperation)); Mono result = client.executeStateTransaction(request); assertThrowsDaprException( @@ -1494,10 +1492,9 @@ public void executeTransactionWithMetadataTest() { new State<>("testKey")); Map metadata = new HashMap<>(); metadata.put("testKey", "testValue"); - ExecuteStateTransactionRequest request = new ExecuteStateTransactionRequestBuilder(STATE_STORE_NAME) - .withTransactionalStates(upsertOperation, deleteOperation) - .withMetadata(metadata) - .build(); + ExecuteStateTransactionRequest request = new ExecuteStateTransactionRequest(STATE_STORE_NAME) + .setOperations(Arrays.asList(upsertOperation, deleteOperation)) + .setMetadata(metadata); Mono result = client.executeStateTransaction(request); result.block(); } diff --git a/sdk/src/test/java/io/dapr/client/DaprClientHttpTest.java b/sdk/src/test/java/io/dapr/client/DaprClientHttpTest.java index 5d5961ad95..8760794572 100644 --- a/sdk/src/test/java/io/dapr/client/DaprClientHttpTest.java +++ b/sdk/src/test/java/io/dapr/client/DaprClientHttpTest.java @@ -7,10 +7,14 @@ import com.fasterxml.jackson.core.JsonParseException; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.dataformat.xml.XmlMapper; +import io.dapr.client.domain.DeleteStateRequest; import io.dapr.client.domain.DeleteStateRequestBuilder; +import io.dapr.client.domain.GetBulkStateRequest; import io.dapr.client.domain.GetBulkStateRequestBuilder; +import io.dapr.client.domain.GetStateRequest; import io.dapr.client.domain.GetStateRequestBuilder; import io.dapr.client.domain.HttpExtension; +import io.dapr.client.domain.PublishEventRequest; import io.dapr.client.domain.PublishEventRequestBuilder; import io.dapr.client.domain.State; import io.dapr.client.domain.StateOptions; @@ -142,9 +146,8 @@ public void publishEventContentTypeOverride() { String event = "{ \"message\": \"This is a test\" }"; Mono mono = daprClientHttp.publishEvent( - new PublishEventRequestBuilder("mypubsubname","A", event) - .withContentType("text/plain") - .build()); + new PublishEventRequest("mypubsubname","A", event) + .setContentType("text/plain")); assertNull(mono.block()); } @@ -561,12 +564,12 @@ public void getStatesErrors() { }); assertThrows(IllegalArgumentException.class, () -> { daprClientHttp.getBulkState( - new GetBulkStateRequestBuilder(STATE_STORE_NAME, "100").withParallelism(-1).build(), + new GetBulkStateRequest(STATE_STORE_NAME, Collections.singletonList("100")).setParallelism(-1), TypeRef.get(String.class)).block(); }); assertThrowsDaprException(JsonParseException.class, () -> { daprClientHttp.getBulkState( - new GetBulkStateRequestBuilder(STATE_STORE_NAME, "100").build(), + new GetBulkStateRequest(STATE_STORE_NAME, Collections.singletonList("100")), TypeRef.get(String.class)).block(); }); } @@ -736,9 +739,9 @@ public void getStateWithMetadata() { .get("http://127.0.0.1:3000/v1.0/state/MyStateStore/key?metadata.key_1=val_1") .respond("\"" + EXPECTED_RESULT + "\""); - GetStateRequestBuilder builder = new GetStateRequestBuilder(STATE_STORE_NAME, "key"); - builder.withMetadata(metadata); - Mono> monoMetadata = daprClientHttp.getState(builder.build(), TypeRef.get(String.class)); + GetStateRequest request = new GetStateRequest(STATE_STORE_NAME, "key"); + request.setMetadata(metadata); + Mono> monoMetadata = daprClientHttp.getState(request, TypeRef.get(String.class)); assertEquals(monoMetadata.block().getKey(), "key"); } @@ -749,9 +752,9 @@ public void getStateWithStateOptions() { .get("http://127.0.0.1:3000/v1.0/state/MyStateStore/key?consistency=strong&concurrency=first-write") .respond("\"" + EXPECTED_RESULT + "\""); - GetStateRequestBuilder builder = new GetStateRequestBuilder(STATE_STORE_NAME, "key"); - builder.withStateOptions(stateOptions); - Mono> monoOptions = daprClientHttp.getState(builder.build(), TypeRef.get(String.class)); + GetStateRequest request = new GetStateRequest(STATE_STORE_NAME, "key"); + request.setStateOptions(stateOptions); + Mono> monoOptions = daprClientHttp.getState(request, TypeRef.get(String.class)); assertEquals(monoOptions.block().getKey(), "key"); } @@ -1039,9 +1042,11 @@ public void deleteStateWithMetadata() { .delete("http://127.0.0.1:3000/v1.0/state/MyStateStore/key?metadata.key_1=val_1") .respond(EXPECTED_RESULT); - DeleteStateRequestBuilder builder = new DeleteStateRequestBuilder(STATE_STORE_NAME, stateKeyValue.getKey()); - builder.withMetadata(metadata).withEtag(stateKeyValue.getEtag()).withStateOptions(stateOptions); - Mono monoMetadata = daprClientHttp.deleteState(builder.build()); + DeleteStateRequest request = new DeleteStateRequest(STATE_STORE_NAME, stateKeyValue.getKey()); + request.setMetadata(metadata) + .setEtag(stateKeyValue.getEtag()) + .setStateOptions(stateOptions); + Mono monoMetadata = daprClientHttp.deleteState(request); assertNull(monoMetadata.block()); } diff --git a/sdk/src/test/java/io/dapr/client/domain/DeleteStateRequestTest.java b/sdk/src/test/java/io/dapr/client/domain/DeleteStateRequestTest.java new file mode 100644 index 0000000000..4a06e74749 --- /dev/null +++ b/sdk/src/test/java/io/dapr/client/domain/DeleteStateRequestTest.java @@ -0,0 +1,31 @@ +package io.dapr.client.domain; + +import org.junit.Assert; +import org.junit.Test; + +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; + +import static org.junit.Assert.assertNull; + +public class DeleteStateRequestTest { + + private String STORE_NAME = "STORE"; + private String KEY = "KEY"; + + @Test + public void testSetMetadata(){ + DeleteStateRequest request = new DeleteStateRequest(STORE_NAME, KEY); + // Null check + request.setMetadata(null); + assertNull(request.getMetadata()); + // Modifiability check + Map metadata = new HashMap<>(); + metadata.put("test", "testval"); + request.setMetadata(metadata); + Map initial = request.getMetadata(); + request.setMetadata(metadata); + Assert.assertNotSame("Should not be same map", request.getMetadata(), initial); + } +} diff --git a/sdk/src/test/java/io/dapr/client/domain/ExecuteStateTransactionRequestTest.java b/sdk/src/test/java/io/dapr/client/domain/ExecuteStateTransactionRequestTest.java new file mode 100644 index 0000000000..944d558ac7 --- /dev/null +++ b/sdk/src/test/java/io/dapr/client/domain/ExecuteStateTransactionRequestTest.java @@ -0,0 +1,46 @@ +package io.dapr.client.domain; + +import org.junit.Test; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import static org.junit.Assert.assertNotSame; +import static org.junit.Assert.assertNull; + +public class ExecuteStateTransactionRequestTest { + + private String STORE_NAME = "STORE"; + + @Test + public void testSetMetadata(){ + ExecuteStateTransactionRequest request = new ExecuteStateTransactionRequest(STORE_NAME); + // Null check + request.setMetadata(null); + assertNull(request.getMetadata()); + // Modifiability check + Map metadata = new HashMap<>(); + metadata.put("test", "testval"); + request.setMetadata(metadata); + Map initial = request.getMetadata(); + request.setMetadata(metadata); + assertNotSame("Should not be same map", request.getMetadata(), initial); + } + + @Test + public void testSetOperations(){ + ExecuteStateTransactionRequest request = new ExecuteStateTransactionRequest(STORE_NAME); + // Null check + request.setOperations(null); + assertNull(request.getOperations()); + // Modifiability check + List> operations = new ArrayList<>(); + operations.add(new TransactionalStateOperation<>(TransactionalStateOperation.OperationType.DELETE, new State<>("test"))); + request.setOperations(operations); + List> initial = request.getOperations(); + request.setOperations(operations); + assertNotSame("Should not be same list", request.getOperations(), initial); + } +} diff --git a/sdk/src/test/java/io/dapr/client/domain/GetBulkSecretRequestTest.java b/sdk/src/test/java/io/dapr/client/domain/GetBulkSecretRequestTest.java new file mode 100644 index 0000000000..b88f5911c5 --- /dev/null +++ b/sdk/src/test/java/io/dapr/client/domain/GetBulkSecretRequestTest.java @@ -0,0 +1,29 @@ +package io.dapr.client.domain; + +import org.junit.Test; + +import java.util.HashMap; +import java.util.Map; + +import static org.junit.Assert.assertNotSame; +import static org.junit.Assert.assertNull; + +public class GetBulkSecretRequestTest { + + private String STORE_NAME = "STORE"; + + @Test + public void testSetMetadata(){ + GetBulkSecretRequest request = new GetBulkSecretRequest(STORE_NAME); + // Null check + request.setMetadata(null); + assertNull(request.getMetadata()); + // Modifiability check + Map metadata = new HashMap<>(); + metadata.put("test", "testval"); + request.setMetadata(metadata); + Map initial = request.getMetadata(); + request.setMetadata(metadata); + assertNotSame("Should not be same map", request.getMetadata(), initial); + } +} \ No newline at end of file diff --git a/sdk/src/test/java/io/dapr/client/domain/GetBulkStateRequestTest.java b/sdk/src/test/java/io/dapr/client/domain/GetBulkStateRequestTest.java new file mode 100644 index 0000000000..f5472dbcfe --- /dev/null +++ b/sdk/src/test/java/io/dapr/client/domain/GetBulkStateRequestTest.java @@ -0,0 +1,58 @@ +package io.dapr.client.domain; + +import org.junit.Test; + +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotSame; +import static org.junit.Assert.assertNull; + +public class GetBulkStateRequestTest { + + private String STORE_NAME = "STORE"; + + @Test + public void testRequestCreation(){ + //List constructor + GetBulkStateRequest request = new GetBulkStateRequest(STORE_NAME, Collections.singletonList("test key")); + // check correct list init + assertEquals(1, request.getKeys().size()); + assertEquals("test key", request.getKeys().get(0)); + // check default parallelism + assertEquals(1, request.getParallelism()); + // Null check + request.setMetadata(null); + assertNull(request.getMetadata()); + // Modifiability check + Map metadata = new HashMap<>(); + metadata.put("test", "testval"); + request.setMetadata(metadata); + Map initial = request.getMetadata(); + request.setMetadata(metadata); + assertNotSame("Should not be same map", request.getMetadata(), initial); + + // Var args constructor + request = new GetBulkStateRequest(STORE_NAME, "test var key"); + // check correct list init + assertEquals(1, request.getKeys().size()); + assertEquals("test var key", request.getKeys().get(0)); + // check default parallelism + assertEquals(1, request.getParallelism()); + // check parallelism set correctly + request.setParallelism(2); + assertEquals(2, request.getParallelism()); + // Null check + request.setMetadata(null); + assertNull(request.getMetadata()); + // Modifiability check + metadata = new HashMap<>(); + metadata.put("test", "testval"); + request.setMetadata(metadata); + initial = request.getMetadata(); + request.setMetadata(metadata); + assertNotSame("Should not be same map", request.getMetadata(), initial); + } +} diff --git a/sdk/src/test/java/io/dapr/client/domain/GetSecretRequestTest.java b/sdk/src/test/java/io/dapr/client/domain/GetSecretRequestTest.java new file mode 100644 index 0000000000..5473ee0db4 --- /dev/null +++ b/sdk/src/test/java/io/dapr/client/domain/GetSecretRequestTest.java @@ -0,0 +1,32 @@ +package io.dapr.client.domain; + +import org.junit.Test; + +import java.util.Collections; +import java.util.HashMap; +import java.util.Map; + +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNotSame; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertSame; + +public class GetSecretRequestTest { + + private String STORE_NAME = "STORE"; + + @Test + public void testSetMetadata(){ + GetSecretRequest request = new GetSecretRequest(STORE_NAME, "key"); + // Null check + request.setMetadata(null); + assertNull(request.getMetadata()); + // Modifiability check + Map metadata = new HashMap<>(); + metadata.put("test", "testval"); + request.setMetadata(metadata); + Map initial = request.getMetadata(); + request.setMetadata(metadata); + assertNotSame("Should not be same map", request.getMetadata(), initial); + } +} \ No newline at end of file diff --git a/sdk/src/test/java/io/dapr/client/domain/GetStateRequestTest.java b/sdk/src/test/java/io/dapr/client/domain/GetStateRequestTest.java new file mode 100644 index 0000000000..6e4b47843d --- /dev/null +++ b/sdk/src/test/java/io/dapr/client/domain/GetStateRequestTest.java @@ -0,0 +1,29 @@ +package io.dapr.client.domain; + +import org.junit.Test; + +import java.util.HashMap; +import java.util.Map; + +import static org.junit.Assert.assertNotSame; +import static org.junit.Assert.assertNull; + +public class GetStateRequestTest { + + private String STORE_NAME = "STORE"; + + @Test + public void testSetMetadata(){ + GetStateRequest request = new GetStateRequest(STORE_NAME, "key"); + // Null check + request.setMetadata(null); + assertNull(request.getMetadata()); + // Modifiability check + Map metadata = new HashMap<>(); + metadata.put("test", "testval"); + request.setMetadata(metadata); + Map initial = request.getMetadata(); + request.setMetadata(metadata); + assertNotSame("Should not be same map", request.getMetadata(), initial); + } +} \ No newline at end of file diff --git a/sdk/src/test/java/io/dapr/client/domain/InvokeBindingRequestTest.java b/sdk/src/test/java/io/dapr/client/domain/InvokeBindingRequestTest.java new file mode 100644 index 0000000000..bd9bfd90bf --- /dev/null +++ b/sdk/src/test/java/io/dapr/client/domain/InvokeBindingRequestTest.java @@ -0,0 +1,29 @@ +package io.dapr.client.domain; + +import org.junit.Test; + +import java.util.HashMap; +import java.util.Map; + +import static org.junit.Assert.assertNotSame; +import static org.junit.Assert.assertNull; + +public class InvokeBindingRequestTest { + + private String BINDING_NAME = "STORE"; + + @Test + public void testSetMetadata(){ + InvokeBindingRequest request = new InvokeBindingRequest(BINDING_NAME, "operation"); + // Null check + request.setMetadata(null); + assertNull(request.getMetadata()); + // Modifiability check + Map metadata = new HashMap<>(); + metadata.put("test", "testval"); + request.setMetadata(metadata); + Map initial = request.getMetadata(); + request.setMetadata(metadata); + assertNotSame("Should not be same map", request.getMetadata(), initial); + } +} \ No newline at end of file diff --git a/sdk/src/test/java/io/dapr/client/domain/PublishEventRequestTest.java b/sdk/src/test/java/io/dapr/client/domain/PublishEventRequestTest.java new file mode 100644 index 0000000000..d732010111 --- /dev/null +++ b/sdk/src/test/java/io/dapr/client/domain/PublishEventRequestTest.java @@ -0,0 +1,32 @@ +package io.dapr.client.domain; + +import org.junit.Test; + +import java.util.HashMap; +import java.util.Map; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotSame; +import static org.junit.Assert.assertNull; + +public class PublishEventRequestTest { + + private String PUBSUB_NAME = "STORE"; + + @Test + public void testSetMetadata(){ + PublishEventRequest request = new PublishEventRequest(PUBSUB_NAME, "topic", "data"); + // Default empty HashMap metadata + assertEquals(0, request.getMetadata().size()); + // Null check + request.setMetadata(null); + assertNull(request.getMetadata()); + // Modifiability check + Map metadata = new HashMap<>(); + metadata.put("test", "testval"); + request.setMetadata(metadata); + Map initial = request.getMetadata(); + request.setMetadata(metadata); + assertNotSame("Should not be same map", request.getMetadata(), initial); + } +} \ No newline at end of file diff --git a/sdk/src/test/java/io/dapr/client/domain/SaveStateRequestTest.java b/sdk/src/test/java/io/dapr/client/domain/SaveStateRequestTest.java new file mode 100644 index 0000000000..d62fe1b573 --- /dev/null +++ b/sdk/src/test/java/io/dapr/client/domain/SaveStateRequestTest.java @@ -0,0 +1,34 @@ +package io.dapr.client.domain; + +import org.junit.Test; + +import java.util.ArrayList; +import java.util.List; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotSame; +import static org.junit.Assert.assertNull; + +public class SaveStateRequestTest { + + private String STORE_NAME = "STORE"; + + @Test + public void testSetStates(){ + SaveStateRequest request = new SaveStateRequest(STORE_NAME); + // Null check + assertNull(request.getStates()); + // Modifiability check + List> states = new ArrayList<>(); + states.add(new State<>("test")); + request.setStates(states); + List> initial = request.getStates(); + request.setStates(states); + assertNotSame("Should not be same list", request.getStates(), initial); + + // With var args method + request.setStates(new State<>("test var args 1"), new State<>("test var args 2")); + assertEquals("Value incorrectly set", "test var args 1", request.getStates().get(0).getKey()); + assertEquals("Value incorrectly set", "test var args 2", request.getStates().get(1).getKey()); + } +} \ No newline at end of file