deprecate builders and add setters for domain classes (#596)

* deprecate builders and add setters for domain classes
exclude builders from coverage checks
properly set parallelism for getbulkstaterequest
Initialize default metadata to empty HashMap PublishEventRequest
Decrease code coeverage ratio for dapr-sdk

* Fix casing
This commit is contained in:
Mukundan Sundararajan 2021-08-21 03:24:01 +05:30 committed by GitHub
parent d423e326f3
commit f199afba95
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
38 changed files with 623 additions and 280 deletions

View File

@ -9,6 +9,7 @@ import io.dapr.client.DaprClient;
import io.dapr.client.DaprClientBuilder; import io.dapr.client.DaprClientBuilder;
import io.dapr.client.domain.CloudEvent; import io.dapr.client.domain.CloudEvent;
import io.dapr.client.domain.Metadata; import io.dapr.client.domain.Metadata;
import io.dapr.client.domain.PublishEventRequest;
import io.dapr.client.domain.PublishEventRequestBuilder; import io.dapr.client.domain.PublishEventRequestBuilder;
import java.util.UUID; import java.util.UUID;
@ -56,10 +57,9 @@ public class CloudEventPublisher {
//Publishing messages //Publishing messages
client.publishEvent( client.publishEvent(
new PublishEventRequestBuilder(PUBSUB_NAME, TOPIC_NAME, cloudEvent) new PublishEventRequest(PUBSUB_NAME, TOPIC_NAME, cloudEvent)
.withContentType(CloudEvent.CONTENT_TYPE) .setContentType(CloudEvent.CONTENT_TYPE)
.withMetadata(singletonMap(Metadata.TTL_IN_SECONDS, MESSAGE_TTL_IN_SECONDS)) .setMetadata(singletonMap(Metadata.TTL_IN_SECONDS, MESSAGE_TTL_IN_SECONDS))).block();
.build()).block();
System.out.println("Published cloud event with message: " + cloudEvent.getData()); System.out.println("Published cloud event with message: " + cloudEvent.getData());
try { try {

View File

@ -48,20 +48,17 @@ public class InvokeClient {
try (DaprClient client = (new DaprClientBuilder()).build()) { try (DaprClient client = (new DaprClientBuilder()).build()) {
for (String message : args) { for (String message : args) {
try (Scope scope = span.makeCurrent()) { try (Scope scope = span.makeCurrent()) {
InvokeMethodRequestBuilder builder = new InvokeMethodRequestBuilder(SERVICE_APP_ID, "proxy_echo"); InvokeMethodRequest request = new InvokeMethodRequest(SERVICE_APP_ID, "proxy_echo")
InvokeMethodRequest request = builder .setBody(message)
.withBody(message) .setHttpExtension(HttpExtension.POST);
.withHttpExtension(HttpExtension.POST)
.build();
client.invokeMethod(request, TypeRef.get(byte[].class)) client.invokeMethod(request, TypeRef.get(byte[].class))
.map(r -> { .map(r -> {
System.out.println(new String(r)); System.out.println(new String(r));
return r; return r;
}) })
.flatMap(r -> { .flatMap(r -> {
InvokeMethodRequest sleepRequest = new InvokeMethodRequestBuilder(SERVICE_APP_ID, "proxy_sleep") InvokeMethodRequest sleepRequest = new InvokeMethodRequest(SERVICE_APP_ID, "proxy_sleep")
.withHttpExtension(HttpExtension.POST) .setHttpExtension(HttpExtension.POST);
.build();
return client.invokeMethod(sleepRequest, TypeRef.get(Void.class)); return client.invokeMethod(sleepRequest, TypeRef.get(Void.class));
}).subscriberContext(getReactorContext()).block(); }).subscriberContext(getReactorContext()).block();
} }

View File

@ -154,20 +154,16 @@ public class TracingDemoMiddleServiceController {
public Mono<byte[]> echo( public Mono<byte[]> echo(
@RequestAttribute(name = "opentelemetry-context") Context context, @RequestAttribute(name = "opentelemetry-context") Context context,
@RequestBody(required = false) String body) { @RequestBody(required = false) String body) {
InvokeMethodRequestBuilder builder = new InvokeMethodRequestBuilder(INVOKE_APP_ID, "echo"); InvokeMethodRequest request = new InvokeMethodRequest(INVOKE_APP_ID, "echo")
InvokeMethodRequest request = builder .setBody(body)
.withBody(body) .setHttpExtension(HttpExtension.POST);
.withHttpExtension(HttpExtension.POST)
.build();
return client.invokeMethod(request, TypeRef.get(byte[].class)).subscriberContext(getReactorContext(context)); return client.invokeMethod(request, TypeRef.get(byte[].class)).subscriberContext(getReactorContext(context));
} }
// ... // ...
@PostMapping(path = "/proxy_sleep") @PostMapping(path = "/proxy_sleep")
public Mono<Void> sleep(@RequestAttribute(name = "opentelemetry-context") Context context) { public Mono<Void> sleep(@RequestAttribute(name = "opentelemetry-context") Context context) {
InvokeMethodRequestBuilder builder = new InvokeMethodRequestBuilder(INVOKE_APP_ID, "sleep"); InvokeMethodRequest request = new InvokeMethodRequest(INVOKE_APP_ID, "sleep")
InvokeMethodRequest request = builder .setHttpExtension(HttpExtension.POST);
.withHttpExtension(HttpExtension.POST)
.build();
return client.invokeMethod(request, TypeRef.get(byte[].class)).subscriberContext(getReactorContext(context)).then(); 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()) { try (DaprClient client = (new DaprClientBuilder()).build()) {
for (String message : args) { for (String message : args) {
try (Scope scope = span.makeCurrent()) { try (Scope scope = span.makeCurrent()) {
InvokeMethodRequestBuilder builder = new InvokeMethodRequestBuilder(SERVICE_APP_ID, "proxy_echo"); InvokeMethodRequest request = new InvokeMethodRequest(SERVICE_APP_ID, "proxy_echo")
InvokeMethodRequest request = builder .setBody(message)
.withBody(message) .setHttpExtension(HttpExtension.POST);
.withHttpExtension(HttpExtension.POST)
.build();
client.invokeMethod(request, TypeRef.get(byte[].class)) client.invokeMethod(request, TypeRef.get(byte[].class))
.map(r -> { .map(r -> {
System.out.println(new String(r)); System.out.println(new String(r));
return r; return r;
}) })
.flatMap(r -> { .flatMap(r -> {
InvokeMethodRequest sleepRequest = new InvokeMethodRequestBuilder(SERVICE_APP_ID, "proxy_sleep") InvokeMethodRequest sleepRequest = new InvokeMethodRequest(SERVICE_APP_ID, "proxy_sleep")
.withHttpExtension(HttpExtension.POST) .setHttpExtension(HttpExtension.POST);
.build();
return client.invokeMethod(sleepRequest, TypeRef.get(Void.class)); return client.invokeMethod(sleepRequest, TypeRef.get(Void.class));
}).subscriberContext(getReactorContext()).block(); }).subscriberContext(getReactorContext()).block();
} }

View File

@ -48,11 +48,9 @@ public class TracingDemoMiddleServiceController {
public Mono<byte[]> echo( public Mono<byte[]> echo(
@RequestAttribute(name = "opentelemetry-context") Context context, @RequestAttribute(name = "opentelemetry-context") Context context,
@RequestBody(required = false) String body) { @RequestBody(required = false) String body) {
InvokeMethodRequestBuilder builder = new InvokeMethodRequestBuilder(INVOKE_APP_ID, "echo"); InvokeMethodRequest request = new InvokeMethodRequest(INVOKE_APP_ID, "echo")
InvokeMethodRequest request = builder .setBody(body)
.withBody(body) .setHttpExtension(HttpExtension.POST);
.withHttpExtension(HttpExtension.POST)
.build();
return client.invokeMethod(request, TypeRef.get(byte[].class)).subscriberContext(getReactorContext(context)); return client.invokeMethod(request, TypeRef.get(byte[].class)).subscriberContext(getReactorContext(context));
} }
@ -64,10 +62,8 @@ public class TracingDemoMiddleServiceController {
*/ */
@PostMapping(path = "/proxy_sleep") @PostMapping(path = "/proxy_sleep")
public Mono<Void> sleep(@RequestAttribute(name = "opentelemetry-context") Context context) { public Mono<Void> sleep(@RequestAttribute(name = "opentelemetry-context") Context context) {
InvokeMethodRequestBuilder builder = new InvokeMethodRequestBuilder(INVOKE_APP_ID, "sleep"); InvokeMethodRequest request = new InvokeMethodRequest(INVOKE_APP_ID, "sleep")
InvokeMethodRequest request = builder .setHttpExtension(HttpExtension.POST);
.withHttpExtension(HttpExtension.POST)
.build();
return client.invokeMethod(request, TypeRef.get(byte[].class)).subscriberContext(getReactorContext(context)).then(); return client.invokeMethod(request, TypeRef.get(byte[].class)).subscriberContext(getReactorContext(context)).then();
} }

View File

@ -175,11 +175,12 @@
<limit> <limit>
<counter>LINE</counter> <counter>LINE</counter>
<value>COVEREDRATIO</value> <value>COVEREDRATIO</value>
<minimum>80%</minimum> <!--TODO Switch back coverage on removing the deprecated builder code-->
<minimum>79%</minimum>
</limit> </limit>
</limits> </limits>
<excludes> <excludes>
<exclude>io.dapr.utils.Constants</exclude> <exclude>**/io/dapr/client/domain/**/*Builder.java</exclude>
</excludes> </excludes>
</rule> </rule>
</rules> </rules>

View File

@ -11,6 +11,7 @@ import io.dapr.client.domain.ExecuteStateTransactionRequest;
import io.dapr.client.domain.ExecuteStateTransactionRequestBuilder; import io.dapr.client.domain.ExecuteStateTransactionRequestBuilder;
import io.dapr.client.domain.GetBulkSecretRequest; import io.dapr.client.domain.GetBulkSecretRequest;
import io.dapr.client.domain.GetBulkSecretRequestBuilder; import io.dapr.client.domain.GetBulkSecretRequestBuilder;
import io.dapr.client.domain.GetBulkStateRequest;
import io.dapr.client.domain.GetBulkStateRequestBuilder; import io.dapr.client.domain.GetBulkStateRequestBuilder;
import io.dapr.client.domain.GetSecretRequest; import io.dapr.client.domain.GetSecretRequest;
import io.dapr.client.domain.GetSecretRequestBuilder; import io.dapr.client.domain.GetSecretRequestBuilder;
@ -82,8 +83,8 @@ abstract class AbstractDaprClient implements DaprClient {
*/ */
@Override @Override
public Mono<Void> publishEvent(String pubsubName, String topicName, Object data, Map<String, String> metadata) { public Mono<Void> publishEvent(String pubsubName, String topicName, Object data, Map<String, String> metadata) {
PublishEventRequest req = new PublishEventRequestBuilder(pubsubName, topicName, PublishEventRequest req = new PublishEventRequest(pubsubName, topicName, data)
data).withMetadata(metadata).build(); .setMetadata(metadata);
return this.publishEvent(req).then(); return this.publishEvent(req).then();
} }
@ -98,12 +99,10 @@ abstract class AbstractDaprClient implements DaprClient {
HttpExtension httpExtension, HttpExtension httpExtension,
Map<String, String> metadata, Map<String, String> metadata,
TypeRef<T> type) { TypeRef<T> type) {
InvokeMethodRequestBuilder builder = new InvokeMethodRequestBuilder(appId, methodName); InvokeMethodRequest req = new InvokeMethodRequest(appId, methodName)
InvokeMethodRequest req = builder .setBody(data)
.withBody(data) .setHttpExtension(httpExtension)
.withHttpExtension(httpExtension) .setContentType(objectSerializer.getContentType());
.withContentType(objectSerializer.getContentType())
.build();
return this.invokeMethod(req, type); return this.invokeMethod(req, type);
} }
@ -231,10 +230,9 @@ abstract class AbstractDaprClient implements DaprClient {
@Override @Override
public <T> Mono<T> invokeBinding( public <T> Mono<T> invokeBinding(
String bindingName, String operation, Object data, Map<String, String> metadata, TypeRef<T> type) { String bindingName, String operation, Object data, Map<String, String> metadata, TypeRef<T> type) {
InvokeBindingRequest request = new InvokeBindingRequestBuilder(bindingName, operation) InvokeBindingRequest request = new InvokeBindingRequest(bindingName, operation)
.withData(data) .setData(data)
.withMetadata(metadata) .setMetadata(metadata);
.build();
return this.invokeBinding(request, type); return this.invokeBinding(request, type);
} }
@ -286,9 +284,8 @@ abstract class AbstractDaprClient implements DaprClient {
@Override @Override
public <T> Mono<State<T>> getState( public <T> Mono<State<T>> getState(
String storeName, String key, StateOptions options, TypeRef<T> type) { String storeName, String key, StateOptions options, TypeRef<T> type) {
GetStateRequest request = new GetStateRequestBuilder(storeName, key) GetStateRequest request = new GetStateRequest(storeName, key)
.withStateOptions(options) .setStateOptions(options);
.build();
return this.getState(request, type); return this.getState(request, type);
} }
@ -307,7 +304,7 @@ abstract class AbstractDaprClient implements DaprClient {
*/ */
@Override @Override
public <T> Mono<List<State<T>>> getBulkState(String storeName, List<String> keys, TypeRef<T> type) { public <T> Mono<List<State<T>>> getBulkState(String storeName, List<String> keys, TypeRef<T> type) {
return this.getBulkState(new GetBulkStateRequestBuilder(storeName, keys).build(), type); return this.getBulkState(new GetBulkStateRequest(storeName, keys), type);
} }
/** /**
@ -324,9 +321,8 @@ abstract class AbstractDaprClient implements DaprClient {
@Override @Override
public Mono<Void> executeStateTransaction(String storeName, public Mono<Void> executeStateTransaction(String storeName,
List<TransactionalStateOperation<?>> operations) { List<TransactionalStateOperation<?>> operations) {
ExecuteStateTransactionRequest request = new ExecuteStateTransactionRequestBuilder(storeName) ExecuteStateTransactionRequest request = new ExecuteStateTransactionRequest(storeName)
.withTransactionalStates(operations) .setOperations(operations);
.build();
return executeStateTransaction(request).then(); return executeStateTransaction(request).then();
} }
@ -335,9 +331,8 @@ abstract class AbstractDaprClient implements DaprClient {
*/ */
@Override @Override
public Mono<Void> saveBulkState(String storeName, List<State<?>> states) { public Mono<Void> saveBulkState(String storeName, List<State<?>> states) {
SaveStateRequest request = new SaveStateRequestBuilder(storeName) SaveStateRequest request = new SaveStateRequest(storeName)
.withStates(states) .setStates(states);
.build();
return this.saveBulkState(request).then(); return this.saveBulkState(request).then();
} }
@ -371,10 +366,9 @@ abstract class AbstractDaprClient implements DaprClient {
*/ */
@Override @Override
public Mono<Void> deleteState(String storeName, String key, String etag, StateOptions options) { public Mono<Void> deleteState(String storeName, String key, String etag, StateOptions options) {
DeleteStateRequest request = new DeleteStateRequestBuilder(storeName, key) DeleteStateRequest request = new DeleteStateRequest(storeName, key)
.withEtag(etag) .setEtag(etag)
.withStateOptions(options) .setStateOptions(options);
.build();
return deleteState(request).then(); return deleteState(request).then();
} }
@ -383,9 +377,8 @@ abstract class AbstractDaprClient implements DaprClient {
*/ */
@Override @Override
public Mono<Map<String, String>> getSecret(String storeName, String key, Map<String, String> metadata) { public Mono<Map<String, String>> getSecret(String storeName, String key, Map<String, String> metadata) {
GetSecretRequest request = new GetSecretRequestBuilder(storeName, key) GetSecretRequest request = new GetSecretRequest(storeName, key)
.withMetadata(metadata) .setMetadata(metadata);
.build();
return getSecret(request).defaultIfEmpty(Collections.emptyMap()); return getSecret(request).defaultIfEmpty(Collections.emptyMap());
} }
@ -410,9 +403,8 @@ abstract class AbstractDaprClient implements DaprClient {
*/ */
@Override @Override
public Mono<Map<String, Map<String, String>>> getBulkSecret(String storeName, Map<String, String> metadata) { public Mono<Map<String, Map<String, String>>> getBulkSecret(String storeName, Map<String, String> metadata) {
GetBulkSecretRequest request = new GetBulkSecretRequestBuilder(storeName) GetBulkSecretRequest request = new GetBulkSecretRequest(storeName)
.withMetadata(metadata) .setMetadata(metadata);
.build();
return this.getBulkSecret(request).defaultIfEmpty(Collections.emptyMap()); return this.getBulkSecret(request).defaultIfEmpty(Collections.emptyMap());
} }

View File

@ -13,9 +13,9 @@ import java.util.Map;
*/ */
public class DeleteStateRequest { public class DeleteStateRequest {
private String stateStoreName; private final String stateStoreName;
private String key; private final String key;
private Map<String, String> metadata; private Map<String, String> metadata;
@ -23,43 +23,43 @@ public class DeleteStateRequest {
private StateOptions stateOptions; private StateOptions stateOptions;
public String getStateStoreName() { public DeleteStateRequest(String storeName, String key) {
return stateStoreName; this.stateStoreName = storeName;
this.key = key;
} }
void setStateStoreName(String stateStoreName) { public String getStateStoreName() {
this.stateStoreName = stateStoreName; return stateStoreName;
} }
public String getKey() { public String getKey() {
return key; return key;
} }
void setKey(String key) {
this.key = key;
}
public String getEtag() { public String getEtag() {
return etag; return etag;
} }
void setEtag(String etag) { public DeleteStateRequest setEtag(String etag) {
this.etag = etag; this.etag = etag;
return this;
} }
public StateOptions getStateOptions() { public StateOptions getStateOptions() {
return stateOptions; return stateOptions;
} }
void setStateOptions(StateOptions stateOptions) { public DeleteStateRequest setStateOptions(StateOptions stateOptions) {
this.stateOptions = stateOptions; this.stateOptions = stateOptions;
return this;
} }
public Map<String, String> getMetadata() { public Map<String, String> getMetadata() {
return metadata; return metadata;
} }
void setMetadata(Map<String, String> metadata) { public DeleteStateRequest setMetadata(Map<String, String> metadata) {
this.metadata = metadata == null ? Collections.emptyMap() : metadata; this.metadata = metadata == null ? null : Collections.unmodifiableMap(metadata);
return this;
} }
} }

View File

@ -10,7 +10,10 @@ import java.util.Map;
/** /**
* Builds a request to delete a state by key. * 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 { public class DeleteStateRequestBuilder {
private final String stateStoreName; private final String stateStoreName;
@ -45,12 +48,11 @@ public class DeleteStateRequestBuilder {
/** /**
* Builds a request object. * Builds a request object.
*
* @return Request object. * @return Request object.
*/ */
public DeleteStateRequest build() { public DeleteStateRequest build() {
DeleteStateRequest request = new DeleteStateRequest(); DeleteStateRequest request = new DeleteStateRequest(this.stateStoreName, this.key);
request.setStateStoreName(this.stateStoreName);
request.setKey(this.key);
request.setMetadata(metadata); request.setMetadata(metadata);
request.setEtag(this.etag); request.setEtag(this.etag);
request.setStateOptions(this.stateOptions); request.setStateOptions(this.stateOptions);

View File

@ -5,6 +5,7 @@
package io.dapr.client.domain; package io.dapr.client.domain;
import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -18,29 +19,35 @@ public class ExecuteStateTransactionRequest {
/** /**
* Transactional operations list. * Transactional operations list.
*/ */
private final List<TransactionalStateOperation<?>> operations; private List<TransactionalStateOperation<?>> operations;
/** /**
* Metadata used for transactional operations. * Metadata used for transactional operations.
*/ */
private final Map<String, String> metadata; private Map<String, String> metadata;
ExecuteStateTransactionRequest(String stateStoreName, public ExecuteStateTransactionRequest(String stateStoreName) {
List<TransactionalStateOperation<?>> operations,
Map<String, String> metadata) {
this.stateStoreName = stateStoreName; this.stateStoreName = stateStoreName;
this.operations = operations;
this.metadata = metadata;
} }
public String getStateStoreName() { public String getStateStoreName() {
return stateStoreName; return stateStoreName;
} }
public ExecuteStateTransactionRequest setOperations(List<TransactionalStateOperation<?>> operations) {
this.operations = operations == null ? null : Collections.unmodifiableList(operations);
return this;
}
public List<TransactionalStateOperation<?>> getOperations() { public List<TransactionalStateOperation<?>> getOperations() {
return operations; return operations;
} }
public ExecuteStateTransactionRequest setMetadata(Map<String, String> metadata) {
this.metadata = metadata == null ? null : Collections.unmodifiableMap(metadata);
return this;
}
public Map<String, String> getMetadata() { public Map<String, String> getMetadata() {
return metadata; return metadata;
} }

View File

@ -10,6 +10,11 @@ import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Map; 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 { public final class ExecuteStateTransactionRequestBuilder {
private final String storeName; private final String storeName;
private List<TransactionalStateOperation<?>> transactionalStates; private List<TransactionalStateOperation<?>> transactionalStates;
@ -37,6 +42,7 @@ public final class ExecuteStateTransactionRequestBuilder {
} }
public ExecuteStateTransactionRequest build() { public ExecuteStateTransactionRequest build() {
return new ExecuteStateTransactionRequest(storeName, transactionalStates, metadata); return new ExecuteStateTransactionRequest(storeName)
.setMetadata(metadata).setOperations(transactionalStates);
} }
} }

View File

@ -5,6 +5,7 @@
package io.dapr.client.domain; package io.dapr.client.domain;
import java.util.Collections;
import java.util.Map; import java.util.Map;
/** /**
@ -12,23 +13,24 @@ import java.util.Map;
*/ */
public class GetBulkSecretRequest { public class GetBulkSecretRequest {
private String storeName; private final String storeName;
private Map<String, String> metadata; private Map<String, String> metadata;
public String getStoreName() { public GetBulkSecretRequest(String storeName) {
return storeName; this.storeName = storeName;
} }
void setStoreName(String storeName) { public String getStoreName() {
this.storeName = storeName; return storeName;
} }
public Map<String, String> getMetadata() { public Map<String, String> getMetadata() {
return metadata; return metadata;
} }
void setMetadata(Map<String, String> metadata) { public GetBulkSecretRequest setMetadata(Map<String, String> metadata) {
this.metadata = metadata; this.metadata = metadata == null ? null : Collections.unmodifiableMap(metadata);
return this;
} }
} }

View File

@ -10,7 +10,10 @@ import java.util.Map;
/** /**
* Builds a request to fetch all secrets of a secret store. * 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 { public class GetBulkSecretRequestBuilder {
private final String storeName; private final String storeName;
@ -28,13 +31,12 @@ public class GetBulkSecretRequestBuilder {
/** /**
* Builds a request object. * Builds a request object.
*
* @return Request object. * @return Request object.
*/ */
public GetBulkSecretRequest build() { public GetBulkSecretRequest build() {
GetBulkSecretRequest request = new GetBulkSecretRequest(); GetBulkSecretRequest request = new GetBulkSecretRequest(storeName);
request.setStoreName(this.storeName); return request.setMetadata(this.metadata);
request.setMetadata(this.metadata);
return request;
} }
} }

View File

@ -5,6 +5,8 @@
package io.dapr.client.domain; package io.dapr.client.domain;
import java.util.Arrays;
import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -13,43 +15,47 @@ import java.util.Map;
*/ */
public class GetBulkStateRequest { public class GetBulkStateRequest {
private String storeName; private final String storeName;
private List<String> keys; private final List<String> keys;
private Map<String, String> metadata; private Map<String, String> metadata;
private int parallelism; private int parallelism = 1;
public GetBulkStateRequest(String storeName, List<String> keys) {
this.storeName = storeName;
this.keys = keys == null ? null : Collections.unmodifiableList(keys);
}
public GetBulkStateRequest(String storeName, String... keys) {
this.storeName = storeName;
this.keys = keys == null ? null : Collections.unmodifiableList(Arrays.asList(keys));
}
public String getStoreName() { public String getStoreName() {
return storeName; return storeName;
} }
void setStoreName(String storeName) {
this.storeName = storeName;
}
public List<String> getKeys() { public List<String> getKeys() {
return keys; return keys;
} }
void setKeys(List<String> keys) {
this.keys = keys;
}
public int getParallelism() { public int getParallelism() {
return parallelism; return parallelism;
} }
void setParallelism(int parallelism) { public GetBulkStateRequest setParallelism(int parallelism) {
this.parallelism = parallelism; this.parallelism = parallelism;
return this;
} }
public Map<String, String> getMetadata() { public Map<String, String> getMetadata() {
return metadata; return metadata;
} }
void setMetadata(Map<String, String> metadata) { public GetBulkStateRequest setMetadata(Map<String, String> metadata) {
this.metadata = metadata; this.metadata = metadata == null ? null : Collections.unmodifiableMap(metadata);
return this;
} }
} }

View File

@ -12,7 +12,10 @@ import java.util.Map;
/** /**
* Builds a request to request states. * 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 { public class GetBulkStateRequestBuilder {
private final String storeName; private final String storeName;
@ -45,15 +48,13 @@ public class GetBulkStateRequestBuilder {
/** /**
* Builds a request object. * Builds a request object.
*
* @return Request object. * @return Request object.
*/ */
public GetBulkStateRequest build() { public GetBulkStateRequest build() {
GetBulkStateRequest request = new GetBulkStateRequest(); GetBulkStateRequest request = new GetBulkStateRequest(storeName, keys);
request.setStoreName(this.storeName); return request.setMetadata(this.metadata)
request.setKeys(this.keys); .setParallelism(this.parallelism);
request.setMetadata(this.metadata);
request.setParallelism(this.parallelism);
return request;
} }
} }

View File

@ -5,6 +5,7 @@
package io.dapr.client.domain; package io.dapr.client.domain;
import java.util.Collections;
import java.util.Map; import java.util.Map;
/** /**
@ -12,9 +13,14 @@ import java.util.Map;
*/ */
public class GetSecretRequest { 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<String, String> metadata; private Map<String, String> metadata;
@ -22,23 +28,16 @@ public class GetSecretRequest {
return storeName; return storeName;
} }
void setStoreName(String storeName) {
this.storeName = storeName;
}
public String getKey() { public String getKey() {
return key; return key;
} }
void setKey(String key) {
this.key = key;
}
public Map<String, String> getMetadata() { public Map<String, String> getMetadata() {
return metadata; return metadata;
} }
void setMetadata(Map<String, String> metadata) { public GetSecretRequest setMetadata(Map<String, String> metadata) {
this.metadata = metadata; this.metadata = metadata == null ? null : Collections.unmodifiableMap(metadata);
return this;
} }
} }

View File

@ -10,7 +10,10 @@ import java.util.Map;
/** /**
* Builds a request to publish an event. * 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 { public class GetSecretRequestBuilder {
private final String storeName; private final String storeName;
@ -31,14 +34,12 @@ public class GetSecretRequestBuilder {
/** /**
* Builds a request object. * Builds a request object.
*
* @return Request object. * @return Request object.
*/ */
public GetSecretRequest build() { public GetSecretRequest build() {
GetSecretRequest request = new GetSecretRequest(); GetSecretRequest request = new GetSecretRequest(storeName, key);
request.setStoreName(this.storeName); return request.setMetadata(this.metadata);
request.setKey(this.key);
request.setMetadata(this.metadata);
return request;
} }
} }

View File

@ -13,43 +13,42 @@ import java.util.Map;
*/ */
public class GetStateRequest { public class GetStateRequest {
private String storeName; private final String storeName;
private String key; private final String key;
private Map<String, String> metadata; private Map<String, String> metadata;
private StateOptions stateOptions; private StateOptions stateOptions;
public String getStoreName() { public GetStateRequest(String storeName, String key) {
return storeName; this.storeName = storeName;
this.key = key;
} }
void setStoreName(String storeName) { public String getStoreName() {
this.storeName = storeName; return storeName;
} }
public String getKey() { public String getKey() {
return key; return key;
} }
void setKey(String key) {
this.key = key;
}
public StateOptions getStateOptions() { public StateOptions getStateOptions() {
return stateOptions; return stateOptions;
} }
void setStateOptions(StateOptions stateOptions) { public GetStateRequest setStateOptions(StateOptions stateOptions) {
this.stateOptions = stateOptions; this.stateOptions = stateOptions;
return this;
} }
public Map<String, String> getMetadata() { public Map<String, String> getMetadata() {
return metadata; return metadata;
} }
void setMetadata(Map<String, String> metadata) { public GetStateRequest setMetadata(Map<String, String> metadata) {
this.metadata = metadata == null ? Collections.emptyMap() : metadata; this.metadata = metadata == null ? null : Collections.unmodifiableMap(metadata);
return this;
} }
} }

View File

@ -10,7 +10,10 @@ import java.util.Map;
/** /**
* Builds a request to request state. * 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 { public class GetStateRequestBuilder {
private final String storeName; private final String storeName;
@ -38,15 +41,13 @@ public class GetStateRequestBuilder {
/** /**
* Builds a request object. * Builds a request object.
*
* @return Request object. * @return Request object.
*/ */
public GetStateRequest build() { public GetStateRequest build() {
GetStateRequest request = new GetStateRequest(); GetStateRequest request = new GetStateRequest(storeName, key);
request.setStoreName(this.storeName); return request.setMetadata(this.metadata)
request.setKey(this.key); .setStateOptions(this.stateOptions);
request.setMetadata(this.metadata);
request.setStateOptions(this.stateOptions);
return request;
} }
} }

View File

@ -5,6 +5,7 @@
package io.dapr.client.domain; package io.dapr.client.domain;
import java.util.Collections;
import java.util.Map; import java.util.Map;
/** /**
@ -12,43 +13,42 @@ import java.util.Map;
*/ */
public class InvokeBindingRequest { public class InvokeBindingRequest {
private String name; private final String name;
private String operation; private final String operation;
private Object data; private Object data;
private Map<String, String> metadata; private Map<String, String> metadata;
public String getName() { public InvokeBindingRequest(String bindingName, String operation) {
return name; this.name = bindingName;
this.operation = operation;
} }
void setName(String name) { public String getName() {
this.name = name; return name;
} }
public String getOperation() { public String getOperation() {
return operation; return operation;
} }
void setOperation(String operation) {
this.operation = operation;
}
public Object getData() { public Object getData() {
return data; return data;
} }
void setData(Object data) { public InvokeBindingRequest setData(Object data) {
this.data = data; this.data = data;
return this;
} }
public Map<String, String> getMetadata() { public Map<String, String> getMetadata() {
return metadata; return metadata;
} }
void setMetadata(Map<String, String> metadata) { public InvokeBindingRequest setMetadata(Map<String, String> metadata) {
this.metadata = metadata; this.metadata = metadata == null ? null : Collections.unmodifiableMap(metadata);
return this;
} }
} }

View File

@ -11,7 +11,10 @@ import java.util.Map;
/** /**
* Builds a request to publish an event. * 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 { public class InvokeBindingRequestBuilder {
private final String name; private final String name;
@ -39,15 +42,13 @@ public class InvokeBindingRequestBuilder {
/** /**
* Builds a request object. * Builds a request object.
*
* @return Request object. * @return Request object.
*/ */
public InvokeBindingRequest build() { public InvokeBindingRequest build() {
InvokeBindingRequest request = new InvokeBindingRequest(); InvokeBindingRequest request = new InvokeBindingRequest(name, operation);
request.setName(this.name); return request.setData(this.data)
request.setOperation(this.operation); .setMetadata(this.metadata);
request.setData(this.data);
request.setMetadata(this.metadata);
return request;
} }
} }

View File

@ -10,9 +10,9 @@ package io.dapr.client.domain;
*/ */
public class InvokeMethodRequest { public class InvokeMethodRequest {
private String appId; private final String appId;
private String method; private final String method;
private Object body; private Object body;
@ -20,43 +20,43 @@ public class InvokeMethodRequest {
private String contentType; private String contentType;
public String getAppId() { public InvokeMethodRequest(String appId, String method) {
return appId; this.appId = appId;
this.method = method;
} }
void setAppId(String appId) { public String getAppId() {
this.appId = appId; return appId;
} }
public String getMethod() { public String getMethod() {
return method; return method;
} }
void setMethod(String method) {
this.method = method;
}
public Object getBody() { public Object getBody() {
return body; return body;
} }
void setBody(Object body) { public InvokeMethodRequest setBody(Object body) {
this.body = body; this.body = body;
return this;
} }
public HttpExtension getHttpExtension() { public HttpExtension getHttpExtension() {
return httpExtension; return httpExtension;
} }
void setHttpExtension(HttpExtension httpExtension) { public InvokeMethodRequest setHttpExtension(HttpExtension httpExtension) {
this.httpExtension = httpExtension; this.httpExtension = httpExtension;
return this;
} }
public String getContentType() { public String getContentType() {
return contentType; return contentType;
} }
void setContentType(String contentType) { public InvokeMethodRequest setContentType(String contentType) {
this.contentType = contentType; this.contentType = contentType;
return this;
} }
} }

View File

@ -7,7 +7,10 @@ package io.dapr.client.domain;
/** /**
* Builds a request to invoke a service. * 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 { public class InvokeMethodRequestBuilder {
private final String appId; private final String appId;
@ -42,16 +45,14 @@ public class InvokeMethodRequestBuilder {
/** /**
* Builds a request object. * Builds a request object.
*
* @return Request object. * @return Request object.
*/ */
public InvokeMethodRequest build() { public InvokeMethodRequest build() {
InvokeMethodRequest request = new InvokeMethodRequest(); InvokeMethodRequest request = new InvokeMethodRequest(appId, method);
request.setAppId(this.appId); return request.setBody(this.body)
request.setContentType(contentType); .setContentType(contentType)
request.setMethod(this.method); .setHttpExtension(this.httpExtension);
request.setBody(this.body);
request.setHttpExtension(this.httpExtension);
return request;
} }
} }

View File

@ -5,6 +5,8 @@
package io.dapr.client.domain; package io.dapr.client.domain;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map; import java.util.Map;
/** /**
@ -12,53 +14,55 @@ import java.util.Map;
*/ */
public class PublishEventRequest { 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 String contentType;
private Map<String, String> metadata; private Map<String, String> metadata = new HashMap<>();
/**
* 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;
}
public String getPubsubName() { public String getPubsubName() {
return pubsubName; return pubsubName;
} }
void setPubsubName(String pubsubName) {
this.pubsubName = pubsubName;
}
public String getTopic() { public String getTopic() {
return topic; return topic;
} }
void setTopic(String topic) {
this.topic = topic;
}
public Object getData() { public Object getData() {
return data; return data;
} }
void setData(Object data) {
this.data = data;
}
public String getContentType() { public String getContentType() {
return this.contentType; return this.contentType;
} }
void setContentType(String contentType) { public PublishEventRequest setContentType(String contentType) {
this.contentType = contentType; this.contentType = contentType;
return this;
} }
public Map<String, String> getMetadata() { public Map<String, String> getMetadata() {
return metadata; return metadata;
} }
void setMetadata(Map<String, String> metadata) { public PublishEventRequest setMetadata(Map<String, String> metadata) {
this.metadata = metadata; this.metadata = metadata == null ? null : Collections.unmodifiableMap(metadata);
return this;
} }
} }

View File

@ -11,7 +11,10 @@ import java.util.Map;
/** /**
* Builds a request to publish an event. * 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 { public class PublishEventRequestBuilder {
private final String pubsubName; private final String pubsubName;
@ -26,9 +29,10 @@ public class PublishEventRequestBuilder {
/** /**
* Instantiates a builder for a publish request. * Instantiates a builder for a publish request.
*
* @param pubsubName Name of the Dapr PubSub. * @param pubsubName Name of the Dapr PubSub.
* @param topic Topic name. * @param topic Topic name.
* @param data Data to be published. * @param data Data to be published.
*/ */
public PublishEventRequestBuilder(String pubsubName, String topic, Object data) { public PublishEventRequestBuilder(String pubsubName, String topic, Object data) {
this.pubsubName = pubsubName; this.pubsubName = pubsubName;
@ -48,16 +52,13 @@ public class PublishEventRequestBuilder {
/** /**
* Builds a request object. * Builds a request object.
*
* @return Request object. * @return Request object.
*/ */
public PublishEventRequest build() { public PublishEventRequest build() {
PublishEventRequest request = new PublishEventRequest(); PublishEventRequest request = new PublishEventRequest(pubsubName, topic, data);
request.setPubsubName(this.pubsubName); return request.setContentType(this.contentType)
request.setTopic(this.topic); .setMetadata(this.metadata);
request.setData(this.data);
request.setContentType(this.contentType);
request.setMetadata(this.metadata);
return request;
} }
} }

View File

@ -5,6 +5,8 @@
package io.dapr.client.domain; package io.dapr.client.domain;
import java.util.Arrays;
import java.util.Collections;
import java.util.List; import java.util.List;
/** /**
@ -12,23 +14,29 @@ import java.util.List;
*/ */
public class SaveStateRequest { public class SaveStateRequest {
private String storeName; private final String storeName;
private List<State<?>> states; private List<State<?>> states;
public String getStoreName() { public SaveStateRequest(String storeName) {
return storeName; this.storeName = storeName;
} }
void setStoreName(String storeName) { public String getStoreName() {
this.storeName = storeName; return storeName;
} }
public List<State<?>> getStates() { public List<State<?>> getStates() {
return states; return states;
} }
void setStates(List<State<?>> states) { public SaveStateRequest setStates(List<State<?>> states) {
this.states = 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;
} }
} }

View File

@ -12,7 +12,10 @@ import java.util.List;
/** /**
* A request to save states to state store. * 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 { public class SaveStateRequestBuilder {
private final String storeName; private final String storeName;
@ -35,12 +38,11 @@ public class SaveStateRequestBuilder {
/** /**
* Builds a request object. * Builds a request object.
*
* @return Request object. * @return Request object.
*/ */
public SaveStateRequest build() { public SaveStateRequest build() {
SaveStateRequest request = new SaveStateRequest(); SaveStateRequest request = new SaveStateRequest(storeName);
request.setStoreName(this.storeName); return request.setStates(this.states);
request.setStates(this.states);
return request;
} }
} }

View File

@ -178,10 +178,9 @@ public class DaprClientGrpcTelemetryTest {
} }
} }
final Context contextCopy = context; final Context contextCopy = context;
InvokeMethodRequest req = new InvokeMethodRequestBuilder("appId", "method") InvokeMethodRequest req = new InvokeMethodRequest("appId", "method")
.withBody("request") .setBody("request")
.withHttpExtension(HttpExtension.NONE) .setHttpExtension(HttpExtension.NONE);
.build();
Mono<Void> result = this.client.invokeMethod(req, TypeRef.get(Void.class)) Mono<Void> result = this.client.invokeMethod(req, TypeRef.get(Void.class))
.subscriberContext(it -> it.putAll(contextCopy == null ? Context.empty() : contextCopy)); .subscriberContext(it -> it.putAll(contextCopy == null ? Context.empty() : contextCopy));
result.block(); result.block();

View File

@ -252,9 +252,8 @@ public class DaprClientGrpcTest {
Mono<Void> result = client.publishEvent( Mono<Void> result = client.publishEvent(
new PublishEventRequestBuilder("pubsubname", "topic", "hello") new PublishEventRequest("pubsubname", "topic", "hello")
.withContentType("text/plain") .setContentType("text/plain"));
.build());
result.block(); result.block();
} }
@ -1004,9 +1003,9 @@ public class DaprClientGrpcTest {
.setData(serialize(expectedValue)) .setData(serialize(expectedValue))
.setEtag(etag) .setEtag(etag)
.build(); .build();
GetStateRequestBuilder builder = new GetStateRequestBuilder(STATE_STORE_NAME, key); GetStateRequest request = new GetStateRequest(STATE_STORE_NAME, key)
builder.withMetadata(metadata).withStateOptions(options); .setMetadata(metadata)
GetStateRequest request = builder.build(); .setStateOptions(options);
doAnswer((Answer<Void>) invocation -> { doAnswer((Answer<Void>) invocation -> {
StreamObserver<DaprProtos.GetStateResponse> observer = (StreamObserver<DaprProtos.GetStateResponse>) invocation.getArguments()[1]; StreamObserver<DaprProtos.GetStateResponse> observer = (StreamObserver<DaprProtos.GetStateResponse>) invocation.getArguments()[1];
observer.onNext(responseEnvelope); observer.onNext(responseEnvelope);
@ -1065,10 +1064,9 @@ public class DaprClientGrpcTest {
client.getBulkState(STATE_STORE_NAME, Collections.emptyList(), String.class).block(); client.getBulkState(STATE_STORE_NAME, Collections.emptyList(), String.class).block();
}); });
// negative parallelism // negative parallelism
GetBulkStateRequest req = new GetBulkStateRequestBuilder(STATE_STORE_NAME, Collections.singletonList("100")) GetBulkStateRequest req = new GetBulkStateRequest(STATE_STORE_NAME, Collections.singletonList("100"))
.withMetadata(new HashMap<>()) .setMetadata(new HashMap<>())
.withParallelism(-1) .setParallelism(-1);
.build();
assertThrows(IllegalArgumentException.class, () -> client.getBulkState(req, TypeRef.BOOLEAN).block()); assertThrows(IllegalArgumentException.class, () -> client.getBulkState(req, TypeRef.BOOLEAN).block());
} }
@ -1359,9 +1357,10 @@ public class DaprClientGrpcTest {
return null; return null;
}).when(daprStub).deleteState(any(DaprProtos.DeleteStateRequest.class), any()); }).when(daprStub).deleteState(any(DaprProtos.DeleteStateRequest.class), any());
DeleteStateRequestBuilder builder = new DeleteStateRequestBuilder(STATE_STORE_NAME, key); DeleteStateRequest request = new DeleteStateRequest(STATE_STORE_NAME, key);
builder.withEtag(etag).withStateOptions(options).withMetadata(metadata); request.setEtag(etag)
DeleteStateRequest request = builder.build(); .setStateOptions(options)
.setMetadata(metadata);
Mono<Void> result = client.deleteState(request); Mono<Void> result = client.deleteState(request);
result.block(); result.block();
} }
@ -1460,9 +1459,8 @@ public class DaprClientGrpcTest {
TransactionalStateOperation<String> upsertOperation = new TransactionalStateOperation<>( TransactionalStateOperation<String> upsertOperation = new TransactionalStateOperation<>(
TransactionalStateOperation.OperationType.UPSERT, TransactionalStateOperation.OperationType.UPSERT,
stateKey); stateKey);
ExecuteStateTransactionRequest request = new ExecuteStateTransactionRequestBuilder(STATE_STORE_NAME) ExecuteStateTransactionRequest request = new ExecuteStateTransactionRequest(STATE_STORE_NAME)
.withTransactionalStates(upsertOperation) .setOperations(Collections.singletonList(upsertOperation));
.build();
Mono<Void> result = client.executeStateTransaction(request); Mono<Void> result = client.executeStateTransaction(request);
assertThrowsDaprException( assertThrowsDaprException(
@ -1494,10 +1492,9 @@ public class DaprClientGrpcTest {
new State<>("testKey")); new State<>("testKey"));
Map<String, String> metadata = new HashMap<>(); Map<String, String> metadata = new HashMap<>();
metadata.put("testKey", "testValue"); metadata.put("testKey", "testValue");
ExecuteStateTransactionRequest request = new ExecuteStateTransactionRequestBuilder(STATE_STORE_NAME) ExecuteStateTransactionRequest request = new ExecuteStateTransactionRequest(STATE_STORE_NAME)
.withTransactionalStates(upsertOperation, deleteOperation) .setOperations(Arrays.asList(upsertOperation, deleteOperation))
.withMetadata(metadata) .setMetadata(metadata);
.build();
Mono<Void> result = client.executeStateTransaction(request); Mono<Void> result = client.executeStateTransaction(request);
result.block(); result.block();
} }

View File

@ -7,10 +7,14 @@ package io.dapr.client;
import com.fasterxml.jackson.core.JsonParseException; import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.dataformat.xml.XmlMapper; import com.fasterxml.jackson.dataformat.xml.XmlMapper;
import io.dapr.client.domain.DeleteStateRequest;
import io.dapr.client.domain.DeleteStateRequestBuilder; import io.dapr.client.domain.DeleteStateRequestBuilder;
import io.dapr.client.domain.GetBulkStateRequest;
import io.dapr.client.domain.GetBulkStateRequestBuilder; import io.dapr.client.domain.GetBulkStateRequestBuilder;
import io.dapr.client.domain.GetStateRequest;
import io.dapr.client.domain.GetStateRequestBuilder; import io.dapr.client.domain.GetStateRequestBuilder;
import io.dapr.client.domain.HttpExtension; import io.dapr.client.domain.HttpExtension;
import io.dapr.client.domain.PublishEventRequest;
import io.dapr.client.domain.PublishEventRequestBuilder; import io.dapr.client.domain.PublishEventRequestBuilder;
import io.dapr.client.domain.State; import io.dapr.client.domain.State;
import io.dapr.client.domain.StateOptions; import io.dapr.client.domain.StateOptions;
@ -142,9 +146,8 @@ public class DaprClientHttpTest {
String event = "{ \"message\": \"This is a test\" }"; String event = "{ \"message\": \"This is a test\" }";
Mono<Void> mono = daprClientHttp.publishEvent( Mono<Void> mono = daprClientHttp.publishEvent(
new PublishEventRequestBuilder("mypubsubname","A", event) new PublishEventRequest("mypubsubname","A", event)
.withContentType("text/plain") .setContentType("text/plain"));
.build());
assertNull(mono.block()); assertNull(mono.block());
} }
@ -561,12 +564,12 @@ public class DaprClientHttpTest {
}); });
assertThrows(IllegalArgumentException.class, () -> { assertThrows(IllegalArgumentException.class, () -> {
daprClientHttp.getBulkState( 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(); TypeRef.get(String.class)).block();
}); });
assertThrowsDaprException(JsonParseException.class, () -> { assertThrowsDaprException(JsonParseException.class, () -> {
daprClientHttp.getBulkState( daprClientHttp.getBulkState(
new GetBulkStateRequestBuilder(STATE_STORE_NAME, "100").build(), new GetBulkStateRequest(STATE_STORE_NAME, Collections.singletonList("100")),
TypeRef.get(String.class)).block(); TypeRef.get(String.class)).block();
}); });
} }
@ -736,9 +739,9 @@ public class DaprClientHttpTest {
.get("http://127.0.0.1:3000/v1.0/state/MyStateStore/key?metadata.key_1=val_1") .get("http://127.0.0.1:3000/v1.0/state/MyStateStore/key?metadata.key_1=val_1")
.respond("\"" + EXPECTED_RESULT + "\""); .respond("\"" + EXPECTED_RESULT + "\"");
GetStateRequestBuilder builder = new GetStateRequestBuilder(STATE_STORE_NAME, "key"); GetStateRequest request = new GetStateRequest(STATE_STORE_NAME, "key");
builder.withMetadata(metadata); request.setMetadata(metadata);
Mono<State<String>> monoMetadata = daprClientHttp.getState(builder.build(), TypeRef.get(String.class)); Mono<State<String>> monoMetadata = daprClientHttp.getState(request, TypeRef.get(String.class));
assertEquals(monoMetadata.block().getKey(), "key"); assertEquals(monoMetadata.block().getKey(), "key");
} }
@ -749,9 +752,9 @@ public class DaprClientHttpTest {
.get("http://127.0.0.1:3000/v1.0/state/MyStateStore/key?consistency=strong&concurrency=first-write") .get("http://127.0.0.1:3000/v1.0/state/MyStateStore/key?consistency=strong&concurrency=first-write")
.respond("\"" + EXPECTED_RESULT + "\""); .respond("\"" + EXPECTED_RESULT + "\"");
GetStateRequestBuilder builder = new GetStateRequestBuilder(STATE_STORE_NAME, "key"); GetStateRequest request = new GetStateRequest(STATE_STORE_NAME, "key");
builder.withStateOptions(stateOptions); request.setStateOptions(stateOptions);
Mono<State<String>> monoOptions = daprClientHttp.getState(builder.build(), TypeRef.get(String.class)); Mono<State<String>> monoOptions = daprClientHttp.getState(request, TypeRef.get(String.class));
assertEquals(monoOptions.block().getKey(), "key"); assertEquals(monoOptions.block().getKey(), "key");
} }
@ -1039,9 +1042,11 @@ public class DaprClientHttpTest {
.delete("http://127.0.0.1:3000/v1.0/state/MyStateStore/key?metadata.key_1=val_1") .delete("http://127.0.0.1:3000/v1.0/state/MyStateStore/key?metadata.key_1=val_1")
.respond(EXPECTED_RESULT); .respond(EXPECTED_RESULT);
DeleteStateRequestBuilder builder = new DeleteStateRequestBuilder(STATE_STORE_NAME, stateKeyValue.getKey()); DeleteStateRequest request = new DeleteStateRequest(STATE_STORE_NAME, stateKeyValue.getKey());
builder.withMetadata(metadata).withEtag(stateKeyValue.getEtag()).withStateOptions(stateOptions); request.setMetadata(metadata)
Mono<Void> monoMetadata = daprClientHttp.deleteState(builder.build()); .setEtag(stateKeyValue.getEtag())
.setStateOptions(stateOptions);
Mono<Void> monoMetadata = daprClientHttp.deleteState(request);
assertNull(monoMetadata.block()); assertNull(monoMetadata.block());
} }

View File

@ -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<String, String> metadata = new HashMap<>();
metadata.put("test", "testval");
request.setMetadata(metadata);
Map<String, String> initial = request.getMetadata();
request.setMetadata(metadata);
Assert.assertNotSame("Should not be same map", request.getMetadata(), initial);
}
}

View File

@ -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<String, String> metadata = new HashMap<>();
metadata.put("test", "testval");
request.setMetadata(metadata);
Map<String, String> 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<TransactionalStateOperation<?>> operations = new ArrayList<>();
operations.add(new TransactionalStateOperation<>(TransactionalStateOperation.OperationType.DELETE, new State<>("test")));
request.setOperations(operations);
List<TransactionalStateOperation<?>> initial = request.getOperations();
request.setOperations(operations);
assertNotSame("Should not be same list", request.getOperations(), initial);
}
}

View File

@ -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<String, String> metadata = new HashMap<>();
metadata.put("test", "testval");
request.setMetadata(metadata);
Map<String, String> initial = request.getMetadata();
request.setMetadata(metadata);
assertNotSame("Should not be same map", request.getMetadata(), initial);
}
}

View File

@ -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<String, String> metadata = new HashMap<>();
metadata.put("test", "testval");
request.setMetadata(metadata);
Map<String, String> 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);
}
}

View File

@ -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<String, String> metadata = new HashMap<>();
metadata.put("test", "testval");
request.setMetadata(metadata);
Map<String, String> initial = request.getMetadata();
request.setMetadata(metadata);
assertNotSame("Should not be same map", request.getMetadata(), initial);
}
}

View File

@ -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<String, String> metadata = new HashMap<>();
metadata.put("test", "testval");
request.setMetadata(metadata);
Map<String, String> initial = request.getMetadata();
request.setMetadata(metadata);
assertNotSame("Should not be same map", request.getMetadata(), initial);
}
}

View File

@ -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<String, String> metadata = new HashMap<>();
metadata.put("test", "testval");
request.setMetadata(metadata);
Map<String, String> initial = request.getMetadata();
request.setMetadata(metadata);
assertNotSame("Should not be same map", request.getMetadata(), initial);
}
}

View File

@ -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<String, String> metadata = new HashMap<>();
metadata.put("test", "testval");
request.setMetadata(metadata);
Map<String, String> initial = request.getMetadata();
request.setMetadata(metadata);
assertNotSame("Should not be same map", request.getMetadata(), initial);
}
}

View File

@ -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<State<?>> states = new ArrayList<>();
states.add(new State<>("test"));
request.setStates(states);
List<State<?>> 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());
}
}