From a53501a8bb7d8d0072cc334366536779c9dbec0f Mon Sep 17 00:00:00 2001 From: LM Date: Mon, 6 Jan 2020 21:23:23 -0800 Subject: [PATCH 1/2] Request body must be null on get for okhttp, empty body does not work. Also, expose the ActorStateManager methods that ought to be exposed to user. --- .../io/dapr/actors/runtime/AbstractActor.java | 10 +++++----- .../dapr/actors/runtime/ActorStateManager.java | 18 +++++++++--------- .../io/dapr/client/AbstractDaprHttpClient.java | 2 +- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/sdk/src/main/java/io/dapr/actors/runtime/AbstractActor.java b/sdk/src/main/java/io/dapr/actors/runtime/AbstractActor.java index 042dc1656d..2b511f75a6 100644 --- a/sdk/src/main/java/io/dapr/actors/runtime/AbstractActor.java +++ b/sdk/src/main/java/io/dapr/actors/runtime/AbstractActor.java @@ -38,11 +38,6 @@ public abstract class AbstractActor { */ private final ActorId id; - /** - * Manager for the states in Actors. - */ - private final ActorStateManager actorStateManager; - /** * Emits trace messages for Actors. */ @@ -53,6 +48,11 @@ public abstract class AbstractActor { */ private final Map timers; + /** + * Manager for the states in Actors. + */ + protected final ActorStateManager actorStateManager; + /** * Instantiates a new Actor. * diff --git a/sdk/src/main/java/io/dapr/actors/runtime/ActorStateManager.java b/sdk/src/main/java/io/dapr/actors/runtime/ActorStateManager.java index 3f421958e3..344d535146 100644 --- a/sdk/src/main/java/io/dapr/actors/runtime/ActorStateManager.java +++ b/sdk/src/main/java/io/dapr/actors/runtime/ActorStateManager.java @@ -15,7 +15,7 @@ *

* All changes are cached in-memory until save() is called. */ -class ActorStateManager { +public class ActorStateManager { /** * Provides states using a state store. @@ -44,7 +44,7 @@ class ActorStateManager { * @param actorTypeName Name of Actor's type. * @param actorId Actor's identifier. */ - ActorStateManager(DaprStateAsyncProvider stateProvider, String actorTypeName, ActorId actorId) { + public ActorStateManager(DaprStateAsyncProvider stateProvider, String actorTypeName, ActorId actorId) { this.stateProvider = stateProvider; this.actorTypeName = actorTypeName; this.actorId = actorId; @@ -59,7 +59,7 @@ class ActorStateManager { * @param Type of the object being added. * @return Asynchronous void operation. */ - Mono add(String stateName, T value) { + public Mono add(String stateName, T value) { try { if (stateName == null) { throw new IllegalArgumentException("State's name cannot be null."); @@ -98,7 +98,7 @@ Mono add(String stateName, T value) { * @param Type being fetched. * @return Asynchronous response with fetched object. */ - Mono get(String stateName, Class clazz) { + public Mono get(String stateName, Class clazz) { try { if (stateName == null) { throw new IllegalArgumentException("State's name cannot be null."); @@ -133,7 +133,7 @@ Mono get(String stateName, Class clazz) { * @param Type of the value being set. * @return Asynchronous void result. */ - Mono set(String stateName, T value) { + public Mono set(String stateName, T value) { try { if (stateName == null) { throw new IllegalArgumentException("State's name cannot be null."); @@ -169,7 +169,7 @@ Mono set(String stateName, T value) { * @param stateName State being stored. * @return Asynchronous void result. */ - Mono remove(String stateName) { + public Mono remove(String stateName) { try { if (stateName == null) { throw new IllegalArgumentException("State's name cannot be null."); @@ -209,7 +209,7 @@ Mono remove(String stateName) { * @param stateName State being checked. * @return Asynchronous boolean result indicating whether state is present. */ - Mono contains(String stateName) { + public Mono contains(String stateName) { try { if (stateName == null) { throw new IllegalArgumentException("State's name cannot be null."); @@ -236,7 +236,7 @@ Mono contains(String stateName) { * * @return Asynchronous void result. */ - Mono save() { + public Mono save() { if (this.stateChangeTracker.isEmpty()) { return Mono.empty(); } @@ -264,7 +264,7 @@ Mono save() { * * @return */ - Mono clear() { + public Mono clear() { this.stateChangeTracker.clear(); return Mono.empty(); } diff --git a/sdk/src/main/java/io/dapr/client/AbstractDaprHttpClient.java b/sdk/src/main/java/io/dapr/client/AbstractDaprHttpClient.java index 342905cff0..22c70079ad 100644 --- a/sdk/src/main/java/io/dapr/client/AbstractDaprHttpClient.java +++ b/sdk/src/main/java/io/dapr/client/AbstractDaprHttpClient.java @@ -105,7 +105,7 @@ public final Mono invokeAPI(String method, String urlString, String json Request request = new Request.Builder() .url(new URL(this.baseUrl + urlString)) - .method(method, body) + .method(method, (json == null && method == "GET") ? null : body) .addHeader(Constants.HEADER_DAPR_REQUEST_ID, requestId) .build(); From d7c0bca29f3483874b4bd629279f07eca2b13c5e Mon Sep 17 00:00:00 2001 From: LM Date: Tue, 7 Jan 2020 14:57:11 -0800 Subject: [PATCH 2/2] Make ctor package private and use equals for string compare --- sdk/src/main/java/io/dapr/actors/runtime/ActorStateManager.java | 2 +- sdk/src/main/java/io/dapr/client/AbstractDaprHttpClient.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sdk/src/main/java/io/dapr/actors/runtime/ActorStateManager.java b/sdk/src/main/java/io/dapr/actors/runtime/ActorStateManager.java index 344d535146..89df3b5dfe 100644 --- a/sdk/src/main/java/io/dapr/actors/runtime/ActorStateManager.java +++ b/sdk/src/main/java/io/dapr/actors/runtime/ActorStateManager.java @@ -44,7 +44,7 @@ public class ActorStateManager { * @param actorTypeName Name of Actor's type. * @param actorId Actor's identifier. */ - public ActorStateManager(DaprStateAsyncProvider stateProvider, String actorTypeName, ActorId actorId) { + ActorStateManager(DaprStateAsyncProvider stateProvider, String actorTypeName, ActorId actorId) { this.stateProvider = stateProvider; this.actorTypeName = actorTypeName; this.actorId = actorId; diff --git a/sdk/src/main/java/io/dapr/client/AbstractDaprHttpClient.java b/sdk/src/main/java/io/dapr/client/AbstractDaprHttpClient.java index 22c70079ad..49485bd0d2 100644 --- a/sdk/src/main/java/io/dapr/client/AbstractDaprHttpClient.java +++ b/sdk/src/main/java/io/dapr/client/AbstractDaprHttpClient.java @@ -105,7 +105,7 @@ public final Mono invokeAPI(String method, String urlString, String json Request request = new Request.Builder() .url(new URL(this.baseUrl + urlString)) - .method(method, (json == null && method == "GET") ? null : body) + .method(method, (json == null && method.equals("GET")) ? null : body) .addHeader(Constants.HEADER_DAPR_REQUEST_ID, requestId) .build();