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 + } + } +}