From 3b954529f9f4b154cb800c71b7887b82f18bf928 Mon Sep 17 00:00:00 2001 From: Jens Debergh Date: Fri, 10 Jul 2026 12:04:30 +0200 Subject: [PATCH 1/4] Remove strict json format when parsing datetimes. --- .../isabel_connect/models/Balance.java | 2 -- .../services/impl/BalanceServiceImplTest.java | 16 ++++++++++++ .../balances_variable_precision.json | 26 +++++++++++++++++++ 3 files changed, 42 insertions(+), 2 deletions(-) create mode 100644 src/test/resources/json/isabel-connect/balances_variable_precision.json diff --git a/src/main/java/com/ibanity/apis/client/products/isabel_connect/models/Balance.java b/src/main/java/com/ibanity/apis/client/products/isabel_connect/models/Balance.java index 2189ff17..06f04d80 100644 --- a/src/main/java/com/ibanity/apis/client/products/isabel_connect/models/Balance.java +++ b/src/main/java/com/ibanity/apis/client/products/isabel_connect/models/Balance.java @@ -1,6 +1,5 @@ package com.ibanity.apis.client.products.isabel_connect.models; -import com.fasterxml.jackson.annotation.JsonFormat; import lombok.AccessLevel; import lombok.AllArgsConstructor; import lombok.Data; @@ -20,7 +19,6 @@ public class Balance { private String selfLink; private String requestId; - @JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS", timezone = "UTC") private LocalDateTime datetime; private BigDecimal amount; private String subtype; diff --git a/src/test/java/com/ibanity/apis/client/products/isabel_connect/services/impl/BalanceServiceImplTest.java b/src/test/java/com/ibanity/apis/client/products/isabel_connect/services/impl/BalanceServiceImplTest.java index dba1791a..d4cb84b2 100644 --- a/src/test/java/com/ibanity/apis/client/products/isabel_connect/services/impl/BalanceServiceImplTest.java +++ b/src/test/java/com/ibanity/apis/client/products/isabel_connect/services/impl/BalanceServiceImplTest.java @@ -62,6 +62,22 @@ public void list() throws Exception { assertThat(actual.getPagingTotal()).isEqualTo(4); } + @Test + public void listWithVariablePrecisionDatetimes() throws Exception { + when(ibanityHttpClient.get(new URI(LIST_BALANCES_ENDPOINT), emptyMap(), ACCESS_TOKEN)) + .thenReturn(loadHttpResponse("json/isabel-connect/balances_variable_precision.json")); + + IsabelCollection actual = balanceService.list(BalancesReadQuery.builder() + .accountId(ACCOUNT_ID) + .accessToken(ACCESS_TOKEN) + .build()); + + assertThat(actual.getItems()).extracting(Balance::getDatetime) + .containsExactly( + LocalDateTime.parse("2026-07-09T00:00:00"), + LocalDateTime.parse("2026-07-10T09:23:40.987445389")); + } + private Balance createExpected() { return Balance.builder() .datetime(LocalDateTime.parse("2018-10-12T22:46:32.417")) diff --git a/src/test/resources/json/isabel-connect/balances_variable_precision.json b/src/test/resources/json/isabel-connect/balances_variable_precision.json new file mode 100644 index 00000000..72b6c4d7 --- /dev/null +++ b/src/test/resources/json/isabel-connect/balances_variable_precision.json @@ -0,0 +1,26 @@ +{ + "data": [ + { + "attributes": { + "amount": 100.00, + "datetime": "2026-07-09T00:00:00", + "subtype": "CLBD" + }, + "type": "balance" + }, + { + "attributes": { + "amount": 200.00, + "datetime": "2026-07-10T09:23:40.987445389", + "subtype": "CLBD" + }, + "type": "balance" + } + ], + "meta": { + "paging": { + "offset": 0, + "total": 2 + } + } +} From 61e4a6c44613c114b22d0ec988435eec0464eda9 Mon Sep 17 00:00:00 2001 From: Jens Debergh Date: Fri, 10 Jul 2026 14:46:59 +0200 Subject: [PATCH 2/4] Update workflow --- .github/workflows/build.yml | 7 +++--- .github/workflows/publish_on_release.yml | 7 +++--- pom.xml | 31 ++++++------------------ 3 files changed, 15 insertions(+), 30 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 00ecbb54..d7ab82d9 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -7,12 +7,13 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Set up Maven Central Repository - uses: actions/setup-java@v1 + uses: actions/setup-java@v4 with: + distribution: temurin java-version: 20 - server-id: ossrh + server-id: central server-username: MAVEN_USERNAME server-password: MAVEN_PASSWORD gpg-passphrase: MAVEN_GPG_PASSPHRASE diff --git a/.github/workflows/publish_on_release.yml b/.github/workflows/publish_on_release.yml index 01e13410..9ec13bf6 100644 --- a/.github/workflows/publish_on_release.yml +++ b/.github/workflows/publish_on_release.yml @@ -8,12 +8,13 @@ jobs: publish: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Set up Maven Central Repository - uses: actions/setup-java@v1 + uses: actions/setup-java@v4 with: + distribution: temurin java-version: 20 - server-id: ossrh + server-id: central server-username: MAVEN_USERNAME server-password: MAVEN_PASSWORD gpg-passphrase: MAVEN_GPG_PASSPHRASE diff --git a/pom.xml b/pom.xml index 601417ea..a8e9a284 100644 --- a/pom.xml +++ b/pom.xml @@ -30,14 +30,6 @@ api.wiki https://github.com/ibanity/ibanity-java/wiki - - ossrh - https://s01.oss.sonatype.org/content/repositories/snapshots - - - ossrh - https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/ - @@ -83,7 +75,7 @@ 1.6.0 - 1.6.13 + 0.7.0 3.0.1 3.2.0 2.8.2 @@ -267,24 +259,15 @@ - org.sonatype.plugins - nexus-staging-maven-plugin - ${nexus-staging-maven-plugin.version} + org.sonatype.central + central-publishing-maven-plugin + ${central-publishing-maven-plugin.version} true - ossrh - https://s01.oss.sonatype.org/ - true + central + true + published - - - default-deploy - deploy - - deploy - - - org.apache.maven.plugins From fe992c29a942f7318654c3299189d29d324e3c25 Mon Sep 17 00:00:00 2001 From: Jens Debergh Date: Fri, 10 Jul 2026 15:25:22 +0200 Subject: [PATCH 3/4] Remove SonarCloud analysis Retire the SonarCloud code analysis integration, which was failing in CI with an authorization error after the Ibanity/Isabel acquisition left the SonarCloud token and organization inaccessible. Deletes the Code Analysis workflow, the sonar-project.properties file, and the sonar-maven-plugin and sonar.* properties from the POM. The JaCoCo coverage profile is unaffected. Co-Authored-By: Claude --- .github/workflows/coverage.yml | 20 -------------------- pom.xml | 13 ------------- sonar-project.properties | 24 ------------------------ 3 files changed, 57 deletions(-) delete mode 100644 .github/workflows/coverage.yml delete mode 100644 sonar-project.properties diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml deleted file mode 100644 index bd876e2f..00000000 --- a/.github/workflows/coverage.yml +++ /dev/null @@ -1,20 +0,0 @@ -name: Code Analisys - -on: [push] - -jobs: - build: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - with: - fetch-depth: 0 - - name: Set up JDK 20 - uses: actions/setup-java@v1 - with: - java-version: 20 - - name: Build and analyze - run: mvn -B verify -DskipTests=true -Dgpg.skip -Dmaven.javadoc.skip=true org.sonarsource.scanner.maven:sonar-maven-plugin:sonar -Pcoverage - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} diff --git a/pom.xml b/pom.xml index a8e9a284..68795bc9 100644 --- a/pom.xml +++ b/pom.xml @@ -91,14 +91,6 @@ 4.3.1 3.22.0 - - https://sonarcloud.io - ibanity - com.ibanity.apis:ibanity-java - java - reuseReports - 3.9.1.2184 - @@ -230,11 +222,6 @@ - - org.sonarsource.scanner.maven - sonar-maven-plugin - ${sonar.version} - org.apache.maven.plugins maven-checkstyle-plugin diff --git a/sonar-project.properties b/sonar-project.properties deleted file mode 100644 index b9c2e421..00000000 --- a/sonar-project.properties +++ /dev/null @@ -1,24 +0,0 @@ -sonar.projectKey=com.ibanity.apis:ibanity-java -sonar.projectName=Java wrapper for the Ibanity API - - -sonar.links.homepage=https://github.com/ibanity/ibanity-java -sonar.links.ci=https://travis-ci.org/ibanity/ibanity-java -sonar.links.scm=https://github.com/ibanity/ibanity-java -sonar.links.issue=https://github.com/ibanity/ibanity-java/issues - -sonar.sources=src/main -sonar.tests=src/test - -sonar.java.binaries=target/classes -sonar.java.test.binaries=target/test-classes - -sonar.language=java -sonar.core.codeCoveragePlugin=jacoco -sonar.dynamicAnalysis=reuseReports -sonar.jacoco.reportPaths=target/jacoco.exec -sonar.junit.reportPaths=target/surefire-reports - -sonar.java.libraries=/home/travis/.m2/repository/org/projectlombok/lombok/1.18.12/lombok-1.18.12.jar - -sonar.exclusions=**/models/*,**/links/*,**/paging/*,**/exceptions/*,**/Client*Sample.*,**/IbanityServiceImpl.*,**/IbanityServiceBuilder.*,**/Xs2aServiceImpl.*,**/utils/* From 8eb539431631fc22df805306a4a21376fbda2a08 Mon Sep 17 00:00:00 2001 From: Jens Debergh Date: Fri, 10 Jul 2026 15:27:27 +0200 Subject: [PATCH 4/4] Bump library version to 6.2 Raise the base revision from 6.1 to 6.2 for the datetime parsing change. Co-Authored-By: Claude --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 68795bc9..f978a14a 100644 --- a/pom.xml +++ b/pom.xml @@ -47,7 +47,7 @@ - 6.1 + 6.2 -SNAPSHOT ${maven.build.timestamp}