From 6a54d9fa1e1dadf60fe6c538d3ef92485a4316d3 Mon Sep 17 00:00:00 2001 From: Martin Vogel <martin.vogel@sinc.de> Date: Mon, 12 Jun 2023 20:04:29 +0200 Subject: [PATCH] refactor(#1073): improve error messages, show problem detail --- .../client/subscriber/SubmissionReceiver.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/client/src/main/java/dev/fitko/fitconnect/client/subscriber/SubmissionReceiver.java b/client/src/main/java/dev/fitko/fitconnect/client/subscriber/SubmissionReceiver.java index e7703c961..29cf52d81 100644 --- a/client/src/main/java/dev/fitko/fitconnect/client/subscriber/SubmissionReceiver.java +++ b/client/src/main/java/dev/fitko/fitconnect/client/subscriber/SubmissionReceiver.java @@ -120,23 +120,23 @@ public class SubmissionReceiver { private void validateMetadata(final Metadata metadata, final Submission submission, final AuthenticationTags authenticationTags) { final ValidationResult validationResult = subscriber.validateMetadata(metadata, submission, authenticationTags); - evaluateValidationResult(submission, validationResult, "Metadata is invalid"); + evaluateValidationResult(submission, validationResult); } private void validateAttachments(final List<AttachmentForValidation> attachmentForValidation, final Submission submission, final AuthenticationTags authenticationTags) { final ValidationResult validationResult = subscriber.validateAttachments(attachmentForValidation, authenticationTags); - evaluateValidationResult(submission, validationResult, "Attachment validation failed"); + evaluateValidationResult(submission, validationResult); } private void validateData(final Submission submission, final Metadata metadata, final byte[] decryptedData, final AuthenticationTags authenticationTags) { final ValidationResult validationResult = subscriber.validateData(decryptedData, submission, metadata, authenticationTags); - evaluateValidationResult(submission, validationResult, "Data is invalid"); + evaluateValidationResult(submission, validationResult); } - private void evaluateValidationResult(final Submission submission, final ValidationResult validationResult, final String errorMessage) throws SubmissionRequestException { + private void evaluateValidationResult(final Submission submission, final ValidationResult validationResult) throws SubmissionRequestException { if (validationResult.hasProblems()) { rejectSubmissionWithProblem(submission, validationResult.getProblems().toArray(new Problem[0])); - throw new SubmissionRequestException(validationResult.hasError() ? validationResult.getError().getMessage() : errorMessage); + throw new SubmissionRequestException(validationResult.getProblems().stream().map(Problem::getDetail).collect(Collectors.joining())); } else if (validationResult.hasError()) { LOGGER.error(validationResult.getError().getMessage(), validationResult.getError()); throw new SubmissionRequestException(validationResult.getError().getMessage(), validationResult.getError()); -- GitLab