From 6c4056653718b712a6108c8a9471af4bfdffa404 Mon Sep 17 00:00:00 2001 From: Oli B Date: Sun, 1 Sep 2024 22:47:34 +0200 Subject: [PATCH] IllegalStateException in ValidationException umgewandelt --- lib/src/main/java/gdv/xport/satz/Satz.java | 3 ++- lib/src/test/java/gdv/xport/satz/SatzTest.java | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/src/main/java/gdv/xport/satz/Satz.java b/lib/src/main/java/gdv/xport/satz/Satz.java index a4c35fd3..a0e2a647 100644 --- a/lib/src/main/java/gdv/xport/satz/Satz.java +++ b/lib/src/main/java/gdv/xport/satz/Satz.java @@ -32,6 +32,7 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; +import javax.validation.ValidationException; import java.io.*; import java.lang.reflect.Constructor; import java.util.*; @@ -621,7 +622,7 @@ private BetragMitVorzeichen getBetragMitVorzeichen(final Bezeichner bezeichner) String vorzeichenInhalt = vorzeichen.getInhalt(); if (StringUtils.isBlank(vorzeichenInhalt)) { if (StringUtils.isNotBlank(betrag.getInhalt()) && !StringUtils.repeat('0', betrag.getAnzahlBytes()).equals(betrag.getInhalt())) { - throw new IllegalStateException("Vorzeichenfeld ist leer fuer " + bezeichner + ", aber Betrag ist nicht 0."); + throw new ValidationException("Vorzeichenfeld ist leer fuer " + bezeichner + ", aber Betrag ist nicht 0."); } vorzeichenInhalt = "+"; } diff --git a/lib/src/test/java/gdv/xport/satz/SatzTest.java b/lib/src/test/java/gdv/xport/satz/SatzTest.java index 657ae0b9..728fa329 100644 --- a/lib/src/test/java/gdv/xport/satz/SatzTest.java +++ b/lib/src/test/java/gdv/xport/satz/SatzTest.java @@ -34,6 +34,7 @@ import patterntesting.runtime.junit.CollectionTester; import patterntesting.runtime.junit.ObjectTester; +import javax.validation.ValidationException; import java.io.*; import java.math.BigDecimal; import java.util.Collection; @@ -222,7 +223,7 @@ public void testGetBetragMitLeeremVorzeichen() { satz.getTeildatensatz(1).setFeld(ByteAdresse.of(167), ""); // Leeres Vorzeichen, aber nicht leerer Betrag -> IllegalStateException - assertThrows(IllegalStateException.class, () -> satz.getFeld(Bezeichner.SCHADENBEARBEITUNGSKOSTEN_IN_WAEHRUNGSEINHEITEN, BetragMitVorzeichen.class)); + assertThrows(ValidationException.class, () -> satz.getFeld(Bezeichner.SCHADENBEARBEITUNGSKOSTEN_IN_WAEHRUNGSEINHEITEN, BetragMitVorzeichen.class)); // Leeres Vorzeichen und Betrag 0 -> Vorzeichen-Feld weiter leer, aber der Betrag mit Vorzeichen ist "+0" satz.setFeld(Bezeichner.SCHADENBEARBEITUNGSKOSTEN_IN_WAEHRUNGSEINHEITEN, "00000000000");