From 1e465217b5207e489b528887f721cdd0e6a97f08 Mon Sep 17 00:00:00 2001 From: Sumit Aich Date: Thu, 4 Jan 2024 19:59:42 +0530 Subject: [PATCH 1/2] fix: fix bug in simple date format in http sink json payload --- .../firehose/serializer/MessageToJson.java | 2 +- .../firehose/serializer/MessageToJsonTest.java | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/gotocompany/firehose/serializer/MessageToJson.java b/src/main/java/com/gotocompany/firehose/serializer/MessageToJson.java index 69daeaa3..2a081d67 100644 --- a/src/main/java/com/gotocompany/firehose/serializer/MessageToJson.java +++ b/src/main/java/com/gotocompany/firehose/serializer/MessageToJson.java @@ -114,7 +114,7 @@ private JSONObject convertProtoBuffTimeStampToDateTime(JSONObject jsonObject, St Date date; try { - date = new SimpleDateFormat("yyyy-MM-dd'T'hh:mm:ss").parse(timestampObject); + date = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss").parse(timestampObject); } catch (java.text.ParseException e) { throw new RuntimeException(String.format("Not able to parse date, %s", timestampObject)); } diff --git a/src/test/java/com/gotocompany/firehose/serializer/MessageToJsonTest.java b/src/test/java/com/gotocompany/firehose/serializer/MessageToJsonTest.java index 4d03e9cb..c67d4fc1 100644 --- a/src/test/java/com/gotocompany/firehose/serializer/MessageToJsonTest.java +++ b/src/test/java/com/gotocompany/firehose/serializer/MessageToJsonTest.java @@ -42,6 +42,24 @@ public void shouldProperlySerializeEsbMessage() throws DeserializerException { + "\\\"s2Id\\\":\\\"3344472187078705152\\\"}\"}"); } + @Test + public void shouldProperlyHandleMiddayCycle() throws DeserializerException { + MessageToJson messageToJson = new MessageToJson(protoParser, false, true); + + String logMessageWithMidday = "CgYI9/7PoQYSBgiz/8+hBhgNIICAgIDA9/y0LigCMAM\u003d"; + String logKeyWithMidday = "CgYI9/7PoQYSBgiz/8+hBhgNIICAgIDA9/y0LigC"; + Message message = new Message(Base64.getDecoder().decode(logKeyWithMidday.getBytes()), + Base64.getDecoder().decode(logMessageWithMidday.getBytes()), "sample-topic", 0, 100); + String actualOutput = messageToJson.serialize(message); + assertEquals(actualOutput, "{\"logMessage\":\"{\\\"uniqueDrivers\\\":\\\"3\\\"," + + "\\\"windowStartTime\\\":\\\"Apr 10, 2023 12:22:15 PM\\\"," + + "\\\"windowEndTime\\\":\\\"Apr 10, 2023 12:23:15 PM\\\",\\\"s2IdLevel\\\":13,\\\"vehicleType\\\":\\\"BIKE\\\"," + + "\\\"s2Id\\\":\\\"3344472187078705152\\\"}\",\"topic\":\"sample-topic\",\"logKey\":\"{" + + "\\\"windowStartTime\\\":\\\"Apr 10, 2023 12:22:15 PM\\\"," + + "\\\"windowEndTime\\\":\\\"Apr 10, 2023 12:23:15 PM\\\",\\\"s2IdLevel\\\":13,\\\"vehicleType\\\":\\\"BIKE\\\"," + + "\\\"s2Id\\\":\\\"3344472187078705152\\\"}\"}"); + } + @Test public void shouldSerializeWhenKeyIsMissing() throws DeserializerException { MessageToJson messageToJson = new MessageToJson(protoParser, false, true); From f1afba6b6ed5006bdd3772ad57653979b54f753c Mon Sep 17 00:00:00 2001 From: Sumit Aich Date: Thu, 4 Jan 2024 20:52:23 +0530 Subject: [PATCH 2/2] chore: version bump to 0.9.7 --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 17af1051..d5bc72bc 100644 --- a/build.gradle +++ b/build.gradle @@ -33,7 +33,7 @@ lombok { } group 'com.gotocompany' -version '0.9.6' +version '0.9.7' def projName = "firehose"