From 0bdf939f9117063f0f26148784639015cbb6877f Mon Sep 17 00:00:00 2001 From: Artur Souza Date: Wed, 29 Jan 2020 10:09:45 -0800 Subject: [PATCH] Removing some dependencies after review. (#164) Co-authored-by: Leon Mai --- examples/pom.xml | 10 -- .../examples/state/http/OrderManager.java | 27 ++---- .../io/dapr/examples/state/http/README.md | 91 ++++++++----------- pom.xml | 8 +- sdk-autogen/pom.xml | 6 +- sdk-tests/pom.xml | 2 +- sdk/pom.xml | 7 +- .../client/DaprClientGrpcAdapterTest.java | 3 - 8 files changed, 50 insertions(+), 104 deletions(-) diff --git a/examples/pom.xml b/examples/pom.xml index 6fc3a8c8a..b361514fb 100644 --- a/examples/pom.xml +++ b/examples/pom.xml @@ -31,11 +31,6 @@ commons-cli 1.4 - - org.json - json - 20190722 - io.grpc grpc-protobuf @@ -51,11 +46,6 @@ grpc-api ${grpc.version} - - javax.annotation - javax.annotation-api - 1.3.2 - io.grpc grpc-testing diff --git a/examples/src/main/java/io/dapr/examples/state/http/OrderManager.java b/examples/src/main/java/io/dapr/examples/state/http/OrderManager.java index df2650f7e..89a9244fd 100644 --- a/examples/src/main/java/io/dapr/examples/state/http/OrderManager.java +++ b/examples/src/main/java/io/dapr/examples/state/http/OrderManager.java @@ -1,32 +1,18 @@ package io.dapr.examples.state.http; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; import com.sun.net.httpserver.HttpExchange; import com.sun.net.httpserver.HttpServer; import io.dapr.client.DaprClient; import io.dapr.client.DaprClientBuilder; import io.dapr.serializer.DefaultObjectSerializer; -import org.json.JSONArray; -import org.json.JSONObject; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; -import java.io.OutputStream; import java.net.InetSocketAddress; -import java.net.URI; -import java.net.http.HttpClient; -import java.net.http.HttpClient.Redirect; -import java.net.http.HttpClient.Version; -import java.net.http.HttpRequest; -import java.net.http.HttpRequest.BodyPublishers; -import java.net.http.HttpResponse; -import java.net.http.HttpResponse.BodyHandlers; import java.nio.charset.Charset; -import java.time.Duration; -import java.util.Arrays; -import java.util.List; -import java.util.Optional; -import java.util.concurrent.CompletableFuture; import static java.lang.System.out; @@ -46,6 +32,8 @@ import static java.lang.System.out; */ public class OrderManager { + private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper(); + public static void main(String[] args) throws IOException { int httpPort = 3001; HttpServer httpServer = HttpServer.create(new InetSocketAddress(httpPort), 0); @@ -73,9 +61,10 @@ public class OrderManager { try { out.println("Received new order ..."); String json = readBody(e); - JSONObject jsonObject = new JSONObject(json); - JSONObject data = jsonObject.getJSONObject("data"); - String orderId = data.getString("orderId"); + + JsonNode jsonObject = OBJECT_MAPPER.readTree(json); + JsonNode data = jsonObject.get("data"); + String orderId = data.get("orderId").asText(); out.printf("Got a new order! Order ID: %s\n", orderId); daprClient.saveState("order", data.toString()).block(); diff --git a/examples/src/main/java/io/dapr/examples/state/http/README.md b/examples/src/main/java/io/dapr/examples/state/http/README.md index a4b33a728..fc67e084a 100644 --- a/examples/src/main/java/io/dapr/examples/state/http/README.md +++ b/examples/src/main/java/io/dapr/examples/state/http/README.md @@ -29,66 +29,51 @@ mvn install This example implements a service listening on port 3000, while using Dapr's state store via port 3500. Its API also offers two methods: `/order` and `/neworder`. Calls to '/order' will fetch the state from Dapr's state store: ``` - String stateUrl = String.format("http://localhost:%s/v1.0/state", daprPort); - /// ... - httpServer.createContext("/order").setHandler(e -> { - out.println("Fetching order!"); - fetch(stateUrl + "/order").thenAccept(response -> { - int resCode = response.statusCode() == 200 ? 200 : 500; - String body = response.statusCode() == 200 ? response.body() : "Could not get state."; + DaprClient daprClient = + (new DaprClientBuilder(new DefaultObjectSerializer(), new DefaultObjectSerializer())).build(); - try { - e.sendResponseHeaders(resCode, body.getBytes().length); - OutputStream os = e.getResponseBody(); - try { - os.write(body.getBytes()); - } finally { - os.close(); - } - } catch (IOException ioerror) { - out.println(ioerror); - } - }); - }); + httpServer.createContext("/order").setHandler(e -> { + out.println("Fetching order!"); + try { + byte[] data = daprClient.getState("order", String.class).block().getValue().getBytes(); + e.getResponseHeaders().set("content-type", "application/json"); + e.sendResponseHeaders(200, data.length); + e.getResponseBody().write(data); + e.getResponseBody().close(); + } catch (IOException ioerror) { + out.println(ioerror); + e.sendResponseHeaders(500, ioerror.getMessage().getBytes().length); + e.getResponseBody().write(ioerror.getMessage().getBytes()); + e.getResponseBody().close(); + } + }); ``` Calls to `/neworder` will persist a new state do Dapr's state store: ``` - httpServer.createContext("/neworder").setHandler(e -> { - try { - out.println("Received new order ..."); - String json = readBody(e); - JSONObject jsonObject = new JSONObject(json); - JSONObject data = jsonObject.getJSONObject("data"); - String orderId = data.getString("orderId"); - out.printf("Got a new order! Order ID: %s\n", orderId); + httpServer.createContext("/neworder").setHandler(e -> { + try { + out.println("Received new order ..."); + String json = readBody(e); - JSONObject item = new JSONObject(); - item.put("key", "order"); - item.put("value", data); - JSONArray state = new JSONArray(); - state.put(item); - out.printf("Writing to state: %s\n", state.toString()); + JsonNode jsonObject = OBJECT_MAPPER.readTree(json); + JsonNode data = jsonObject.get("data"); + String orderId = data.get("orderId").asText(); + out.printf("Got a new order! Order ID: %s\n", orderId); - post(stateUrl, state.toString()).thenAccept(response -> { - int resCode = response.statusCode() == 200 ? 200 : 500; - String body = response.body(); - try { - e.sendResponseHeaders(resCode, body.getBytes().length); - OutputStream os = e.getResponseBody(); - try { - os.write(body.getBytes()); - } finally { - os.close(); - } - } catch (IOException ioerror) { - out.println(ioerror); - } - }); - } catch (IOException ioerror) { - out.println(ioerror); - } - }); + daprClient.saveState("order", data.toString()).block(); + + out.printf("Saved state: %s\n", data.toString()); + e.sendResponseHeaders(200, 0); + e.getResponseBody().write(new byte[0]); + e.getResponseBody().close(); + } catch (IOException ioerror) { + out.println(ioerror); + e.sendResponseHeaders(500, ioerror.getMessage().getBytes().length); + e.getResponseBody().write(ioerror.getMessage().getBytes()); + e.getResponseBody().close(); + } + }); ``` ### Running the example diff --git a/pom.xml b/pom.xml index 5a8ecc435..545ed9c2e 100644 --- a/pom.xml +++ b/pom.xml @@ -53,16 +53,10 @@ grpc-api ${grpc.version} - - javax.annotation - javax.annotation-api - 1.3.2 - provided - junit junit - 4.12 + 4.13-beta-3 test diff --git a/sdk-autogen/pom.xml b/sdk-autogen/pom.xml index 98e2498a8..532d91d32 100644 --- a/sdk-autogen/pom.xml +++ b/sdk-autogen/pom.xml @@ -26,6 +26,7 @@ javax.annotation javax.annotation-api + 1.3.2 provided @@ -46,11 +47,6 @@ grpc-testing test - - com.google.protobuf - protobuf-java-util - ${protobuf.version} - com.github.os72 protoc-jar-maven-plugin diff --git a/sdk-tests/pom.xml b/sdk-tests/pom.xml index f83965664..8a41c91b9 100644 --- a/sdk-tests/pom.xml +++ b/sdk-tests/pom.xml @@ -44,7 +44,7 @@ junit junit - 4.12 + 4.13-beta-3 test diff --git a/sdk/pom.xml b/sdk/pom.xml index d4e59c951..4064b224f 100644 --- a/sdk/pom.xml +++ b/sdk/pom.xml @@ -40,7 +40,7 @@ com.fasterxml.jackson.core jackson-databind - 2.9.10.1 + 2.10.1 io.projectreactor @@ -52,11 +52,6 @@ okhttp 4.2.1 - - javax.annotation - javax.annotation-api - provided - junit junit diff --git a/sdk/src/test/java/io/dapr/client/DaprClientGrpcAdapterTest.java b/sdk/src/test/java/io/dapr/client/DaprClientGrpcAdapterTest.java index 46850d087..a05c6197b 100644 --- a/sdk/src/test/java/io/dapr/client/DaprClientGrpcAdapterTest.java +++ b/sdk/src/test/java/io/dapr/client/DaprClientGrpcAdapterTest.java @@ -17,7 +17,6 @@ import org.junit.Test; import org.mockito.ArgumentMatcher; import reactor.core.publisher.Mono; -import javax.annotation.Nullable; import java.io.IOException; import java.time.Duration; import java.util.HashMap; @@ -929,9 +928,7 @@ public class DaprClientGrpcAdapterTest { } private final class MockCallback implements FutureCallback { - @Nullable private T value = null; - @Nullable private Throwable failure = null; private boolean wasCalled = false;