From 6a0ff75eb1a4b2541096a31d653ac601e2ac0b1f Mon Sep 17 00:00:00 2001 From: Sascha Doemer Date: Tue, 24 Nov 2020 11:58:33 +0100 Subject: [PATCH 1/2] Enable access to the last error for onboarding and revoking. --- .../data/agrirouter/api/exception/OnboardingException.java | 4 ++++ .../dke/data/agrirouter/api/exception/RevokingException.java | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/agrirouter-api-java-api/src/main/java/com/dke/data/agrirouter/api/exception/OnboardingException.java b/agrirouter-api-java-api/src/main/java/com/dke/data/agrirouter/api/exception/OnboardingException.java index 0d4f77d0..64945b68 100644 --- a/agrirouter-api-java-api/src/main/java/com/dke/data/agrirouter/api/exception/OnboardingException.java +++ b/agrirouter-api-java-api/src/main/java/com/dke/data/agrirouter/api/exception/OnboardingException.java @@ -6,4 +6,8 @@ public class OnboardingException extends RuntimeException { public OnboardingException(String lastError) { this.lastError = lastError; } + + public String getLastError() { + return lastError; + } } diff --git a/agrirouter-api-java-api/src/main/java/com/dke/data/agrirouter/api/exception/RevokingException.java b/agrirouter-api-java-api/src/main/java/com/dke/data/agrirouter/api/exception/RevokingException.java index c086c3ac..eb085207 100644 --- a/agrirouter-api-java-api/src/main/java/com/dke/data/agrirouter/api/exception/RevokingException.java +++ b/agrirouter-api-java-api/src/main/java/com/dke/data/agrirouter/api/exception/RevokingException.java @@ -6,4 +6,8 @@ public class RevokingException extends RuntimeException { public RevokingException(String lastError) { this.lastError = lastError; } + + public String getLastError() { + return lastError; + } } From 346955bf6d6cf869de682cddf66b0ab4c6d4641c Mon Sep 17 00:00:00 2001 From: Sascha Doemer Date: Tue, 24 Nov 2020 12:09:18 +0100 Subject: [PATCH 2/2] Enable access to the last error for onboarding and revoking. --- .../api/exception/OnboardingException.java | 3 -- .../api/exception/RevokingException.java | 28 ++++++++++++++----- .../impl/revoke/RevokingServiceImpl.java | 3 +- 3 files changed, 22 insertions(+), 12 deletions(-) diff --git a/agrirouter-api-java-api/src/main/java/com/dke/data/agrirouter/api/exception/OnboardingException.java b/agrirouter-api-java-api/src/main/java/com/dke/data/agrirouter/api/exception/OnboardingException.java index 4f82d0b7..13e868d7 100644 --- a/agrirouter-api-java-api/src/main/java/com/dke/data/agrirouter/api/exception/OnboardingException.java +++ b/agrirouter-api-java-api/src/main/java/com/dke/data/agrirouter/api/exception/OnboardingException.java @@ -24,7 +24,4 @@ public String getMessage() { : "There was an error during the onboarding process."; } - public String getLastError() { - return lastError; - } } diff --git a/agrirouter-api-java-api/src/main/java/com/dke/data/agrirouter/api/exception/RevokingException.java b/agrirouter-api-java-api/src/main/java/com/dke/data/agrirouter/api/exception/RevokingException.java index eb085207..80125363 100644 --- a/agrirouter-api-java-api/src/main/java/com/dke/data/agrirouter/api/exception/RevokingException.java +++ b/agrirouter-api-java-api/src/main/java/com/dke/data/agrirouter/api/exception/RevokingException.java @@ -1,13 +1,27 @@ package com.dke.data.agrirouter.api.exception; +import com.dke.data.agrirouter.api.dto.revoke.RevokingError; + +import java.util.Optional; + public class RevokingException extends RuntimeException { - private final String lastError; + private final RevokingError revokingError; + + @SuppressWarnings("OptionalUsedAsFieldOrParameterType") + public RevokingException(Optional lastError) { + this.revokingError = lastError.orElse(null); + } - public RevokingException(String lastError) { - this.lastError = lastError; - } + public RevokingError getRevokingError() { + return revokingError; + } - public String getLastError() { - return lastError; - } + @Override + public String getMessage() { + return null != revokingError + ? String.format( + "There was an error '%s' during the revoking, details were '%s'", + revokingError.getError().getCode(), revokingError.getError().message) + : "There was an error during the revoking process."; + } } diff --git a/agrirouter-api-java-impl/src/main/java/com/dke/data/agrirouter/impl/revoke/RevokingServiceImpl.java b/agrirouter-api-java-impl/src/main/java/com/dke/data/agrirouter/impl/revoke/RevokingServiceImpl.java index 5efa40d4..f78f9d27 100644 --- a/agrirouter-api-java-impl/src/main/java/com/dke/data/agrirouter/impl/revoke/RevokingServiceImpl.java +++ b/agrirouter-api-java-impl/src/main/java/com/dke/data/agrirouter/impl/revoke/RevokingServiceImpl.java @@ -48,8 +48,7 @@ public RevokeResponse revoke(RevokeParameters revokeParameters) { if (result.getKey() == RevokeResponse.SUCCESS.getKey()) { return result; } else { - String lastError = response.readEntity(String.class); - throw new RevokingException(lastError); + throw new RevokingException(getLastRevokingError(response.readEntity(String.class))); } } finally { if (response != null) {