mmodzelewski commented on code in PR #2516:
URL: https://github.com/apache/iggy/pull/2516#discussion_r2657621234
##########
foreign/java/external-processors/iggy-connector-flink/iggy-connector-library/src/main/java/org/apache/iggy/connector/flink/sink/IggySinkWriter.java:
##########
@@ -288,6 +289,6 @@ private Message createMessage(byte[] payload) {
0L, // userHeadersLength
(long) payload.length); // payloadLength
- return new Message(header, payload, Optional.empty());
+ return new Message(header, payload, new HashMap<>());
Review Comment:
please use `Collections.emptyMap()` instead
##########
foreign/java/java-sdk/src/main/java/org/apache/iggy/message/Message.java:
##########
@@ -19,27 +19,80 @@
package org.apache.iggy.message;
+import com.fasterxml.jackson.annotation.JsonSetter;
+import com.fasterxml.jackson.annotation.Nulls;
+
import java.math.BigInteger;
+import java.util.HashMap;
import java.util.Map;
-import java.util.Optional;
-public record Message(MessageHeader header, byte[] payload,
Optional<Map<String, HeaderValue>> userHeaders) {
+public record Message(
+ MessageHeader header,
+ byte[] payload,
+ @JsonSetter(nulls = Nulls.AS_EMPTY) Map<String, HeaderValue>
userHeaders) {
public static Message of(String payload) {
+ return of(payload, new HashMap<>());
Review Comment:
please use `Collections.emptyMap()` instead of creating new map
##########
foreign/java/java-sdk/src/main/java/org/apache/iggy/message/Message.java:
##########
@@ -19,27 +19,80 @@
package org.apache.iggy.message;
+import com.fasterxml.jackson.annotation.JsonSetter;
+import com.fasterxml.jackson.annotation.Nulls;
+
import java.math.BigInteger;
+import java.util.HashMap;
import java.util.Map;
-import java.util.Optional;
-public record Message(MessageHeader header, byte[] payload,
Optional<Map<String, HeaderValue>> userHeaders) {
+public record Message(
+ MessageHeader header,
+ byte[] payload,
+ @JsonSetter(nulls = Nulls.AS_EMPTY) Map<String, HeaderValue>
userHeaders) {
Review Comment:
maybe instead of this @JsonSetter annotation, you could update
`ObjectMapperFactory` to include `.changeDefaultNullHandling((n) ->
JsonSetter.Value.forValueNulls(Nulls.AS_EMPTY))`, and then we'll have unified
approach of all deserialization
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]