From 57878187663562e7b96bbc20fc02b28ef955fb9e Mon Sep 17 00:00:00 2001 From: Henry Borasch <Henry.Borasch@sinc.de> Date: Tue, 7 Mar 2023 09:51:52 +0100 Subject: [PATCH] added more specific exceptions --- .../fitconnect/api/exceptions/FileHandlingException.java | 8 ++++++++ .../api/exceptions/RootCertificateException.java | 8 ++++++++ .../java/dev/fitko/fitconnect/core/util/FileUtil.java | 9 ++++++--- .../core/validation/DefaultValidationService.java | 3 ++- 4 files changed, 24 insertions(+), 4 deletions(-) create mode 100644 api/src/main/java/dev/fitko/fitconnect/api/exceptions/FileHandlingException.java create mode 100644 api/src/main/java/dev/fitko/fitconnect/api/exceptions/RootCertificateException.java diff --git a/api/src/main/java/dev/fitko/fitconnect/api/exceptions/FileHandlingException.java b/api/src/main/java/dev/fitko/fitconnect/api/exceptions/FileHandlingException.java new file mode 100644 index 000000000..dfe704d8d --- /dev/null +++ b/api/src/main/java/dev/fitko/fitconnect/api/exceptions/FileHandlingException.java @@ -0,0 +1,8 @@ +package dev.fitko.fitconnect.api.exceptions; + +public class FileHandlingException extends RuntimeException { + + public FileHandlingException(Exception exception) { + super(exception); + } +} diff --git a/api/src/main/java/dev/fitko/fitconnect/api/exceptions/RootCertificateException.java b/api/src/main/java/dev/fitko/fitconnect/api/exceptions/RootCertificateException.java new file mode 100644 index 000000000..e7a577d2b --- /dev/null +++ b/api/src/main/java/dev/fitko/fitconnect/api/exceptions/RootCertificateException.java @@ -0,0 +1,8 @@ +package dev.fitko.fitconnect.api.exceptions; + +public class RootCertificateException extends RuntimeException { + + public RootCertificateException(Exception exception) { + super(exception); + } +} diff --git a/core/src/main/java/dev/fitko/fitconnect/core/util/FileUtil.java b/core/src/main/java/dev/fitko/fitconnect/core/util/FileUtil.java index bea28d98f..a3ee31e0c 100644 --- a/core/src/main/java/dev/fitko/fitconnect/core/util/FileUtil.java +++ b/core/src/main/java/dev/fitko/fitconnect/core/util/FileUtil.java @@ -1,5 +1,8 @@ package dev.fitko.fitconnect.core.util; +import dev.fitko.fitconnect.api.exceptions.FileHandlingException; +import dev.fitko.fitconnect.api.exceptions.RootCertificateException; + import java.io.ByteArrayInputStream; import java.io.File; import java.io.IOException; @@ -23,7 +26,7 @@ public class FileUtil { try { return Files.readString(file.toPath()); } catch (IOException e) { - throw new RuntimeException(e); + throw new FileHandlingException(e); } }).collect(Collectors.toList()); } @@ -33,7 +36,7 @@ public class FileUtil { try { return Files.readString(new File(Objects.requireNonNull(FileUtil.class.getClassLoader().getResource(filePath)).getFile()).toPath()); } catch (IOException e) { - throw new RuntimeException(e); + throw new FileHandlingException(e); } } @@ -43,7 +46,7 @@ public class FileUtil { try { return (X509Certificate) CertificateFactory.getInstance("X.509").generateCertificate(certificateInputStream); } catch (CertificateException e) { - throw new RuntimeException(e); + throw new RootCertificateException(e); } } } diff --git a/core/src/main/java/dev/fitko/fitconnect/core/validation/DefaultValidationService.java b/core/src/main/java/dev/fitko/fitconnect/core/validation/DefaultValidationService.java index 96cb250e0..da9268e4e 100644 --- a/core/src/main/java/dev/fitko/fitconnect/core/validation/DefaultValidationService.java +++ b/core/src/main/java/dev/fitko/fitconnect/core/validation/DefaultValidationService.java @@ -15,6 +15,7 @@ import dev.fitko.fitconnect.api.domain.model.event.EventClaimFields; import dev.fitko.fitconnect.api.domain.model.metadata.Metadata; import dev.fitko.fitconnect.api.domain.validation.ValidationResult; import dev.fitko.fitconnect.api.exceptions.DataIntegrityException; +import dev.fitko.fitconnect.api.exceptions.RootCertificateException; import dev.fitko.fitconnect.api.exceptions.SchemaNotFoundException; import dev.fitko.fitconnect.api.exceptions.ValidationException; import dev.fitko.fitconnect.api.services.crypto.MessageDigestService; @@ -244,7 +245,7 @@ public class DefaultValidationService implements ValidationService { try { return Base64.encode(cert.getEncoded()).toString(); } catch (CertificateEncodingException e) { - throw new RuntimeException(e); + throw new RootCertificateException(e); } }).collect(Collectors.toList()); -- GitLab