From 00cc38f68278b4053c42550d15b6ef229c22adac Mon Sep 17 00:00:00 2001 From: William Chong Date: Thu, 27 Mar 2025 17:21:33 +0400 Subject: [PATCH 1/3] chore: remove deprecated methods --- .../java/io/kurrent/dbclient/EventData.java | 24 ---------- .../io/kurrent/dbclient/EventDataBuilder.java | 45 ------------------- 2 files changed, 69 deletions(-) diff --git a/src/main/java/io/kurrent/dbclient/EventData.java b/src/main/java/io/kurrent/dbclient/EventData.java index 3cd5ba4c..ee94fe96 100644 --- a/src/main/java/io/kurrent/dbclient/EventData.java +++ b/src/main/java/io/kurrent/dbclient/EventData.java @@ -55,30 +55,6 @@ public byte[] getUserMetadata() { return userMetadata; } - /** - * Configures an event data builder to host a JSON payload. - * @param eventType event's type. - * @param eventData event's payload. - * @return an event data builder. - * @param a type that can be serialized in JSON. - */ - @Deprecated - public static EventDataBuilder builderAsJson(String eventType, A eventData) { - return builderAsJson(null, eventType, eventData); - } - - /** - * Configures an event data builder to host a JSON payload. - * @param eventId event's id. - * @param eventType event's type. - * @param eventData event's payload. - * @return an event data builder. - * @param a type that can be serialized in JSON. - */ - public static EventDataBuilder builderAsJson(UUID eventId, String eventType, A eventData) { - return EventDataBuilder.json(eventId, eventType, eventData); - } - /** * Configures an event data builder to host a JSON payload. * @param eventType event's type. diff --git a/src/main/java/io/kurrent/dbclient/EventDataBuilder.java b/src/main/java/io/kurrent/dbclient/EventDataBuilder.java index 4de45daf..fde65402 100644 --- a/src/main/java/io/kurrent/dbclient/EventDataBuilder.java +++ b/src/main/java/io/kurrent/dbclient/EventDataBuilder.java @@ -17,35 +17,6 @@ public class EventDataBuilder { EventDataBuilder(){} - /** - * Configures builder to serialize event data as JSON. - * @param eventType event's type. - * @param eventData event's payload. - * @return an event data builder. - * @param a type that can be serialized in JSON. - */ - public static EventDataBuilder json(String eventType, A eventData) { - return json(null, eventType, eventData); - } - - /** - * Configures an event data builder to host a JSON payload. - * @param id event's id. - * @param eventType event's type. - * @param eventData event's payload. - * @return an event data builder. - * @param a type that can be serialized in JSON. - */ - @Deprecated - public static EventDataBuilder json(UUID id, String eventType, A eventData) { - try { - JsonMapper mapper = new JsonMapper(); - return json(id, eventType, mapper.writeValueAsBytes(eventData)); - } catch (JsonProcessingException e) { - throw new RuntimeException(e); - } - } - /** * Configures an event data builder to host a JSON payload. * @param eventType event's type. @@ -115,22 +86,6 @@ public EventDataBuilder eventId(UUID id) { return this; } - /** - * Sets event's custom user metadata. - * @param an object that can be serialized in JSON. - */ - @Deprecated - public EventDataBuilder metadataAsJson(A value) { - try { - JsonMapper mapper = new JsonMapper(); - this.metadata = mapper.writeValueAsBytes(value); - } catch (JsonProcessingException e) { - throw new RuntimeException(e); - } - - return this; - } - /** * Sets event's custom user metadata. */ From 11806588c0686ec6598874c6fd1b04c6335de5bb Mon Sep 17 00:00:00 2001 From: William Chong Date: Thu, 27 Mar 2025 17:31:27 +0400 Subject: [PATCH 2/3] update samples --- .../appending_events/AppendingEvents.java | 59 ++++++++----------- .../opentelemetry/Instrumentation.java | 11 ++-- .../dbclient/streams/MetadataTests.java | 6 +- 3 files changed, 35 insertions(+), 41 deletions(-) diff --git a/src/test/java/io/kurrent/dbclient/samples/appending_events/AppendingEvents.java b/src/test/java/io/kurrent/dbclient/samples/appending_events/AppendingEvents.java index 01154920..17efb5b7 100644 --- a/src/test/java/io/kurrent/dbclient/samples/appending_events/AppendingEvents.java +++ b/src/test/java/io/kurrent/dbclient/samples/appending_events/AppendingEvents.java @@ -1,22 +1,26 @@ package io.kurrent.dbclient.samples.appending_events; +import com.fasterxml.jackson.core.JsonProcessingException; import io.kurrent.dbclient.*; import io.kurrent.dbclient.samples.TestEvent; import java.util.UUID; import java.util.concurrent.ExecutionException; +import com.fasterxml.jackson.databind.ObjectMapper; + + public class AppendingEvents { - private static void appendToStream(KurrentDBClient client) throws ExecutionException, InterruptedException { + private static void appendToStream(KurrentDBClient client) throws ExecutionException, InterruptedException, JsonProcessingException { // region append-to-stream + ObjectMapper objectMapper = new ObjectMapper(); + EventData eventData = EventData .builderAsJson( UUID.randomUUID(), "some-event", - new TestEvent( - "1", - "some value" - )) + objectMapper.writeValueAsBytes(new TestEvent("1", "some value")) + ) .build(); AppendToStreamOptions options = AppendToStreamOptions.get() @@ -27,16 +31,15 @@ private static void appendToStream(KurrentDBClient client) throws ExecutionExcep // endregion append-to-stream } - private static void appendWithSameId(KurrentDBClient client) throws ExecutionException, InterruptedException { + private static void appendWithSameId(KurrentDBClient client) throws ExecutionException, InterruptedException, JsonProcessingException { // region append-duplicate-event + ObjectMapper objectMapper = new ObjectMapper(); + EventData eventData = EventData .builderAsJson( UUID.randomUUID(), "some-event", - new TestEvent( - "1", - "some value" - )) + objectMapper.writeValueAsBytes(new TestEvent("1", "some value"))) .build(); AppendToStreamOptions options = AppendToStreamOptions.get() @@ -51,26 +54,22 @@ private static void appendWithSameId(KurrentDBClient client) throws ExecutionExc // endregion append-duplicate-event } - private static void appendWithNoStream(KurrentDBClient client) throws ExecutionException, InterruptedException { + private static void appendWithNoStream(KurrentDBClient client) throws ExecutionException, InterruptedException, JsonProcessingException { // region append-with-no-stream + ObjectMapper objectMapper = new ObjectMapper(); + EventData eventDataOne = EventData .builderAsJson( UUID.randomUUID(), "some-event", - new TestEvent( - "1", - "some value" - )) + objectMapper.writeValueAsBytes(new TestEvent("1", "some value"))) .build(); EventData eventDataTwo = EventData .builderAsJson( UUID.randomUUID(), "some-event", - new TestEvent( - "2", - "some other value" - )) + objectMapper.writeValueAsBytes(new TestEvent("2", "some value"))) .build(); AppendToStreamOptions options = AppendToStreamOptions.get() @@ -85,8 +84,9 @@ private static void appendWithNoStream(KurrentDBClient client) throws ExecutionE // endregion append-with-no-stream } - private static void appendWithConcurrencyCheck(KurrentDBClient client) throws ExecutionException, InterruptedException { + private static void appendWithConcurrencyCheck(KurrentDBClient client) throws ExecutionException, InterruptedException, JsonProcessingException { // region append-with-concurrency-check + ObjectMapper objectMapper = new ObjectMapper(); ReadStreamOptions readStreamOptions = ReadStreamOptions.get() .forwards() @@ -99,20 +99,14 @@ private static void appendWithConcurrencyCheck(KurrentDBClient client) throws Ex .builderAsJson( UUID.randomUUID(), "some-event", - new TestEvent( - "1", - "clientOne" - )) + objectMapper.writeValueAsBytes(new TestEvent("2", "clientOne"))) .build(); EventData clientTwoData = EventData .builderAsJson( UUID.randomUUID(), "some-event", - new TestEvent( - "2", - "clientTwo" - )) + objectMapper.writeValueAsBytes(new TestEvent("2", "clientTwo"))) .build(); @@ -127,15 +121,14 @@ private static void appendWithConcurrencyCheck(KurrentDBClient client) throws Ex // endregion append-with-concurrency-check } - public void appendOverridingUserCredentials(KurrentDBClient client) throws ExecutionException, InterruptedException { + public void appendOverridingUserCredentials(KurrentDBClient client) throws ExecutionException, InterruptedException, JsonProcessingException { + ObjectMapper objectMapper = new ObjectMapper(); + EventData eventData = EventData .builderAsJson( UUID.randomUUID(), "some-event", - new TestEvent( - "1", - "some value" - )) + objectMapper.writeValueAsBytes(new TestEvent("1", "some value"))) .build(); //region overriding-user-credentials UserCredentials credentials = new UserCredentials("admin", "changeit"); diff --git a/src/test/java/io/kurrent/dbclient/samples/opentelemetry/Instrumentation.java b/src/test/java/io/kurrent/dbclient/samples/opentelemetry/Instrumentation.java index c94d89f4..fc9c4f64 100644 --- a/src/test/java/io/kurrent/dbclient/samples/opentelemetry/Instrumentation.java +++ b/src/test/java/io/kurrent/dbclient/samples/opentelemetry/Instrumentation.java @@ -1,4 +1,5 @@ package io.kurrent.dbclient.samples.opentelemetry; +import org.testcontainers.shaded.com.fasterxml.jackson.core.JsonProcessingException; import io.kurrent.dbclient.*; import io.kurrent.dbclient.samples.TestEvent; @@ -9,6 +10,7 @@ import io.opentelemetry.sdk.resources.Resource; import io.opentelemetry.sdk.trace.SdkTracerProvider; import io.opentelemetry.sdk.trace.export.SimpleSpanProcessor; +import org.testcontainers.shaded.com.fasterxml.jackson.databind.ObjectMapper; // endregion import-required-packages import java.util.UUID; @@ -17,7 +19,9 @@ import static io.opentelemetry.semconv.ServiceAttributes.SERVICE_NAME; public class Instrumentation { - private static void tracing(KurrentDBClient client) throws ExecutionException, InterruptedException { + private static void tracing(KurrentDBClient client) throws ExecutionException, InterruptedException, JsonProcessingException { + ObjectMapper objectMapper = new ObjectMapper(); + Resource resource = Resource.getDefault().toBuilder() .put(SERVICE_NAME, "sample") .build(); @@ -47,10 +51,7 @@ private static void tracing(KurrentDBClient client) throws ExecutionException, I .builderAsJson( UUID.randomUUID(), "some-event", - new TestEvent( - "1", - "some value" - )) + objectMapper.writeValueAsBytes(new TestEvent("1", "some value"))) .build(); // endregion setup-client-for-tracing diff --git a/src/test/java/io/kurrent/dbclient/streams/MetadataTests.java b/src/test/java/io/kurrent/dbclient/streams/MetadataTests.java index cbacc8ac..3f81f9e1 100644 --- a/src/test/java/io/kurrent/dbclient/streams/MetadataTests.java +++ b/src/test/java/io/kurrent/dbclient/streams/MetadataTests.java @@ -27,7 +27,7 @@ default void testSetStreamMetadata() throws Throwable { metadata.setAcl(acl); - HashMap payload = new HashMap<>(); + byte[] payload = "data".getBytes(); String streamName = generateName(); @@ -43,7 +43,7 @@ default void testSetStreamMetadata() throws Throwable { default void testReadNoExistingMetadata() throws Throwable { KurrentDBClient client = getDatabase().defaultClient(); String streamName = generateName(); - client.appendToStream(streamName, EventDataBuilder.json("bar", new HashMap()).build()).get(); + client.appendToStream(streamName, EventDataBuilder.json("bar", "data".getBytes()).build()).get(); StreamMetadata got = client.getStreamMetadata(streamName).get(); @@ -54,7 +54,7 @@ default void testReadNoExistingMetadata() throws Throwable { default void testReadMetadataAfterStreamDeletion() throws Throwable { KurrentDBClient client = getDatabase().defaultClient(); String streamName = generateName(); - client.appendToStream(streamName, EventDataBuilder.json("bar", new HashMap()).build()).get(); + client.appendToStream(streamName, EventDataBuilder.json("bar", "data".getBytes()).build()).get(); client.deleteStream(streamName).get(); client.getStreamMetadata(streamName).get(); From 2b4b5da089a30f629ca4685168077a30bcf5147c Mon Sep 17 00:00:00 2001 From: William Chong Date: Thu, 27 Mar 2025 17:40:05 +0400 Subject: [PATCH 3/3] fixup samples --- .../dbclient/samples/appending_events/AppendingEvents.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test/java/io/kurrent/dbclient/samples/appending_events/AppendingEvents.java b/src/test/java/io/kurrent/dbclient/samples/appending_events/AppendingEvents.java index 17efb5b7..856e8e83 100644 --- a/src/test/java/io/kurrent/dbclient/samples/appending_events/AppendingEvents.java +++ b/src/test/java/io/kurrent/dbclient/samples/appending_events/AppendingEvents.java @@ -69,7 +69,7 @@ private static void appendWithNoStream(KurrentDBClient client) throws ExecutionE .builderAsJson( UUID.randomUUID(), "some-event", - objectMapper.writeValueAsBytes(new TestEvent("2", "some value"))) + objectMapper.writeValueAsBytes(new TestEvent("2", "some other value"))) .build(); AppendToStreamOptions options = AppendToStreamOptions.get() @@ -99,7 +99,7 @@ private static void appendWithConcurrencyCheck(KurrentDBClient client) throws Ex .builderAsJson( UUID.randomUUID(), "some-event", - objectMapper.writeValueAsBytes(new TestEvent("2", "clientOne"))) + objectMapper.writeValueAsBytes(new TestEvent("1", "clientOne"))) .build(); EventData clientTwoData = EventData