From 9c2ba4dbc185c5576e67fbeb82ec6f4899093e79 Mon Sep 17 00:00:00 2001 From: Shubham Date: Fri, 4 Jul 2025 12:04:19 +0530 Subject: [PATCH 1/2] chore: updating maven repository link in release notes (#876) --- .github/workflows/test-and-deploy.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test-and-deploy.yml b/.github/workflows/test-and-deploy.yml index 07178db5f3..d9aace8a70 100644 --- a/.github/workflows/test-and-deploy.yml +++ b/.github/workflows/test-and-deploy.yml @@ -62,7 +62,7 @@ jobs: with: distribution: 'zulu' java-version: '17' - + - name: SonarCloud Scan if: ${{ (github.event_name == 'pull_request' || github.ref_type == 'branch') && matrix.java == 11 && !github.event.pull_request.head.repo.fork }} env: @@ -94,7 +94,7 @@ jobs: - name: Create GitHub Release uses: sendgrid/dx-automator/actions/release@main with: - footer: '**[Maven](https://mvnrepository.com/artifact/com.twilio.sdk/twilio/${version})**' + footer: '**[Maven](https://central.sonatype.com/artifact/com.twilio.sdk/twilio/${version})**' env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} From 46ede86b4dcfe06ac81b9ad877be1c6cb7c7c267 Mon Sep 17 00:00:00 2001 From: sbansla Date: Mon, 4 Aug 2025 11:08:51 +0530 Subject: [PATCH 2/2] chore: added deserialization classes --- .../twilio/converter/ISO8601Deserializer.java | 17 +++++++++++ .../converter/LocalDateDeserializer.java | 17 +++++++++++ .../twilio/converter/RFC2822Deserializer.java | 17 +++++++++++ .../ZonedDateTimeListDeserializer.java | 28 +++++++++++++++++++ 4 files changed, 79 insertions(+) create mode 100644 src/main/java/com/twilio/converter/ISO8601Deserializer.java create mode 100644 src/main/java/com/twilio/converter/LocalDateDeserializer.java create mode 100644 src/main/java/com/twilio/converter/RFC2822Deserializer.java create mode 100644 src/main/java/com/twilio/converter/ZonedDateTimeListDeserializer.java diff --git a/src/main/java/com/twilio/converter/ISO8601Deserializer.java b/src/main/java/com/twilio/converter/ISO8601Deserializer.java new file mode 100644 index 0000000000..a867287b63 --- /dev/null +++ b/src/main/java/com/twilio/converter/ISO8601Deserializer.java @@ -0,0 +1,17 @@ +package com.twilio.converter; + +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; + +import java.io.IOException; +import java.time.ZonedDateTime; + +// open-api spec "format: date-time" +public class ISO8601Deserializer extends JsonDeserializer { + @Override + public ZonedDateTime deserialize(JsonParser parser, DeserializationContext context) throws IOException { + String dateString = parser.getText(); + return DateConverter.iso8601DateTimeFromString(dateString); + } +} \ No newline at end of file diff --git a/src/main/java/com/twilio/converter/LocalDateDeserializer.java b/src/main/java/com/twilio/converter/LocalDateDeserializer.java new file mode 100644 index 0000000000..a8a2260a4d --- /dev/null +++ b/src/main/java/com/twilio/converter/LocalDateDeserializer.java @@ -0,0 +1,17 @@ +package com.twilio.converter; + +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; + +import java.io.IOException; +import java.time.LocalDate; + +// open-api spec "format: date" +public class LocalDateDeserializer extends JsonDeserializer { + @Override + public LocalDate deserialize(JsonParser parser, DeserializationContext context) throws IOException { + String dateString = parser.getText(); + return DateConverter.localDateFromString(dateString); + } +} \ No newline at end of file diff --git a/src/main/java/com/twilio/converter/RFC2822Deserializer.java b/src/main/java/com/twilio/converter/RFC2822Deserializer.java new file mode 100644 index 0000000000..56eb3e891d --- /dev/null +++ b/src/main/java/com/twilio/converter/RFC2822Deserializer.java @@ -0,0 +1,17 @@ +package com.twilio.converter; + +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; + +import java.io.IOException; +import java.time.ZonedDateTime; + +// open-api spec "format: date-time-rfc-2822" +public class RFC2822Deserializer extends JsonDeserializer { + @Override + public ZonedDateTime deserialize(JsonParser parser, DeserializationContext context) throws IOException { + String dateString = parser.getText(); + return DateConverter.rfc2822DateTimeFromString(dateString); + } +} \ No newline at end of file diff --git a/src/main/java/com/twilio/converter/ZonedDateTimeListDeserializer.java b/src/main/java/com/twilio/converter/ZonedDateTimeListDeserializer.java new file mode 100644 index 0000000000..2d98994219 --- /dev/null +++ b/src/main/java/com/twilio/converter/ZonedDateTimeListDeserializer.java @@ -0,0 +1,28 @@ +package com.twilio.converter; + +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; + +import java.io.IOException; +import java.time.ZonedDateTime; +import java.util.ArrayList; +import java.util.List; + +public class ZonedDateTimeListDeserializer extends JsonDeserializer> { + + @Override + public List deserialize(JsonParser parser, DeserializationContext context) throws IOException { + List dateStrings = parser.readValueAs(new TypeReference>() { + }); + List dates = new ArrayList<>(); + for (String dateString : dateStrings) { + ZonedDateTime date = DateConverter.rfc2822DateTimeFromString(dateString); + if (date != null) { + dates.add(date); + } + } + return dates; + } +} \ No newline at end of file