-
Notifications
You must be signed in to change notification settings - Fork 10
Description
Describe the bug
Trying to get Airtime Operators via the Java SDK is throwing an exception trying to parse promotion timestamps.
Expected Behavior
It should be able to parse whatever date the API is returning.
Current Behavior
It is throwing an error at some of the dates the API is returning.
com.fasterxml.jackson.databind.JsonMappingException: java.text.ParseException: Unparseable date: "2024-07-08T04:01:00Z" (through reference chain: software.reloadly.sdk.core.dto.response.Page["content"]->java.util.ArrayList[136]->software.reloadly.sdk.airtime.dto.response.Operator["promotions"]->java.util.HashSet[0]->software.reloadly.sdk.airtime.dto.response.Promotion["startDate"])
Steps to Reproduce
`var airtimeAPI = AirtimeAPI.builder()
.clientId("your-client-id")
.clientSecret("your-client-secret")
.environment(Environment.LIVE)
.build();
var filter = new OperatorFilter()
.includeBundles(true)
.includeData(true)
.includeFixedDenominationType(true)
.includePin(false)
.includeRangeDenominationType(true)
.includeSuggestedAmounts(true)
.includeSuggestedAmountsMap(true)
.withPage(1, 200);
var page = airtimeAPI.operators().list(filter).execute();`
Possible Solution
Switch the deserializer to use DateTimeFormatter with optional sections.
Context
We run a nightly import of Operators into our system to use throughout the day. This import has been failing for days now, so our Operator list is growing outdated.
Your Environment
- Reloadly Java SDK version used:
- JDK version used:
- Operating System and version:
Reloadly SDK 1.0.2
Corretto 17
Amazon Linux 2022