From 3807d4edd6aec4685efa595e00b161b22a823d35 Mon Sep 17 00:00:00 2001 From: Oli B Date: Tue, 26 Mar 2024 18:01:37 +0100 Subject: [PATCH] #94: has/getFeld() ist jetzt @Deprecated --- .../main/java/gdv/xport/satz/Datensatz.java | 27 +------- lib/src/main/java/gdv/xport/satz/Satz.java | 61 +++++++++++-------- .../test/java/gdv/xport/satz/SatzTest.java | 6 +- 3 files changed, 38 insertions(+), 56 deletions(-) diff --git a/lib/src/main/java/gdv/xport/satz/Datensatz.java b/lib/src/main/java/gdv/xport/satz/Datensatz.java index 28038c12..e71bbb6a 100644 --- a/lib/src/main/java/gdv/xport/satz/Datensatz.java +++ b/lib/src/main/java/gdv/xport/satz/Datensatz.java @@ -279,16 +279,6 @@ public void setSparte(final String x) { } } - /** - * Gets the sparte. - * - * @return die Sparte als int - */ - @Override - public int getSparte() { - return this.sparte.toInt(); - } - /** * Manche Satzarten wie Bausparen haben eine Element fuer die Untersparte, * im Feld Wagnisart oder Art abgespeichert. Dies ist z.B. fuer Satz @@ -311,27 +301,12 @@ public boolean hasArt() { return this.getSatzTyp().hasArt(); } - /** - * Ueberprueft, ob der Datensatz ueberhaupt eine Sparte gesetzt hat. - * - * @return true, if successful - * @since 0.6 - */ - @Override - public boolean hasSparte() { - /* - * @Oli: die Abfrage auf Existenz von "sparte" ist noetig, damit es beim Debugging nicht in - * "Satz.toString()" zur RuntimeException kommen kann, solange das Datensatz-Objekt noch - * nicht fertig ist. - */ - return this.sparte != null && !this.sparte.isEmpty() && this.getSparte() > 0; - } - /** * Gets the sparte feld. * * @return die Sparte als Feld * @deprecated seit 7.1 durch getFeldSparte() ersetzt + * // TODO: mit v9 entsorgen */ @Deprecated public NumFeld getSparteFeld() { diff --git a/lib/src/main/java/gdv/xport/satz/Satz.java b/lib/src/main/java/gdv/xport/satz/Satz.java index e0cfc1be..d94bdf9e 100644 --- a/lib/src/main/java/gdv/xport/satz/Satz.java +++ b/lib/src/main/java/gdv/xport/satz/Satz.java @@ -725,22 +725,25 @@ public int getSatzart() { public SatzTyp getSatzTyp() { if (StringUtils.isNotEmpty(this.gdvSatzartName)) { return SatzTyp.of(this.gdvSatzartName); - } else if (this.hasSparte()) { - if (this.hasWagnisart() && this.getWagnisart().matches("\\d")) { - return SatzTyp.of(this.getSatzart(), this.getSparte(), - Integer.parseInt(this.getWagnisart())); - } else if (this.hasKrankenFolgeNr() && this.getKrankenFolgeNr().matches("\\d")) { - return SatzTyp.of(this.getSatzart(), this.getSparte(), - Integer.parseInt(this.getKrankenFolgeNr())); - } else if (this.hasBausparenArt() && this.getBausparenArt().matches("\\d")) { - return SatzTyp.of(this.getSatzart(), this.getSparte(), - Integer.parseInt(this.getBausparenArt())); + } else { + Optional sparte = getFeldSparte(); + if (sparte.isPresent()) { + if (this.hasWagnisart() && this.getWagnisart().matches("\\d")) { + return SatzTyp.of(this.getSatzart(), sparte.get().toInt(), + Integer.parseInt(this.getWagnisart())); + } else if (this.hasKrankenFolgeNr() && this.getKrankenFolgeNr().matches("\\d")) { + return SatzTyp.of(this.getSatzart(), sparte.get().toInt(), + Integer.parseInt(this.getKrankenFolgeNr())); + } else if (this.hasBausparenArt() && this.getBausparenArt().matches("\\d")) { + return SatzTyp.of(this.getSatzart(), sparte.get().toInt(), + Integer.parseInt(this.getBausparenArt())); + } else { + return SatzTyp.of(this.getSatzart(), sparte.get().toInt()); + } } else { - return SatzTyp.of(this.getSatzart(), this.getSparte()); + return SatzTyp.of(this.getSatzart()); } - } else { - return SatzTyp.of(this.getSatzart()); - } + } } /** @@ -749,7 +752,10 @@ public SatzTyp getSatzTyp() { * * @return true, falls Sparten-Feld vorhanden ist * @since 0.9 + * @deprecated bitte {@link #getFeldSparte()}.isPresent() verwenden + * // TODO: mit v9 entsorgen */ + @Deprecated public boolean hasSparte() { return getFeldSparte().isPresent(); } @@ -773,24 +779,22 @@ public boolean hasWagnisart() { * @since 18.04.2018 */ public boolean hasKrankenFolgeNr() { - return this.getSatzart() == 220 && this.getSparte() == 20 + return this.getSatzart() == 220 && this.getFeldSparte().get().toInt() == 20 && (this.hasFeld(Bezeichner.FOLGE_NR_ZUR_LAUFENDEN_PERSONEN_NR_UNTER_NR_LAUFENDE_NR_TARIF) || this.hasFeld(Bezeichner.FOLGE_NR_ZUR_LAUFENDEN_PERSONEN_NR_UNTER_NR_BZW_LAUFENDEN_NR_TARIF)); } /** - /** - * Schaut nach dem 9. Feld in Satzart 220, Sparte 580 (Bausparen) und liefert true zurueck, falls - * es existiert. - * - * @return true, falls das Feld existiert - * @since 30.06.2021 - */ - public boolean hasBausparenArt() - { - return this.getSatzart() == 220 && this.getSparte() == 580 - && (this.hasFeld(Bezeichner.ART_580)); - } + * Schaut nach dem 9. Feld in Satzart 220, Sparte 580 (Bausparen) und liefert true zurueck, falls + * es existiert. + * + * @return true, falls das Feld existiert + * @since 30.06.2021 + */ + public boolean hasBausparenArt() { + return this.getSatzart() == 220 && this.getFeldSparte().get().toInt() == 580 + && (this.hasFeld(Bezeichner.ART_580)); + } /** * Liefert den Inhalt des Sparten-Felds. Vorher sollte allerdings mittels @@ -804,7 +808,10 @@ public boolean hasBausparenArt() * * @return die Sparte * @since 0.9 + * @deprecated bitte {@link #getFeldSparte()}.get().toInt() verwenden + * // TODO: mit v9 entsorgen */ + @Deprecated @JsonIgnore public int getSparte() { Optional sparte = getFeldSparte(); diff --git a/lib/src/test/java/gdv/xport/satz/SatzTest.java b/lib/src/test/java/gdv/xport/satz/SatzTest.java index 6ee68676..41a1c2b5 100644 --- a/lib/src/test/java/gdv/xport/satz/SatzTest.java +++ b/lib/src/test/java/gdv/xport/satz/SatzTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2009 - 2012 by Oli B. + * Copyright (c) 2009 - 2024 by Oli B. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -562,8 +562,8 @@ public void testHasSparteAsProdukt() { assertEquals(580, bausparen.getSparte()); assertEquals(satzTyp, bausparen.getSatzTyp()); for (Teildatensatz tds : bausparen.getTeildatensaetze()) { - assertTrue(tds.hasSparte()); - assertEquals(580, tds.getSparte()); + assertTrue(tds.getFeldSparte().isPresent()); + assertEquals(580, tds.getFeldSparte().get().toInt()); assertEquals(satzTyp, tds.getSatzTyp()); } }