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/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/.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..f978a14a 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/
-
@@ -55,7 +47,7 @@
- 6.1
+ 6.2
-SNAPSHOT
${maven.build.timestamp}
@@ -83,7 +75,7 @@
1.6.0
- 1.6.13
+ 0.7.0
3.0.1
3.2.0
2.8.2
@@ -99,14 +91,6 @@
4.3.1
3.22.0
-
- https://sonarcloud.io
- ibanity
- com.ibanity.apis:ibanity-java
- java
- reuseReports
- 3.9.1.2184
-
@@ -238,11 +222,6 @@
-
- org.sonarsource.scanner.maven
- sonar-maven-plugin
- ${sonar.version}
-
org.apache.maven.plugins
maven-checkstyle-plugin
@@ -267,24 +246,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
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/*
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
+ }
+ }
+}