Skip to content

Commit

Permalink
#94: has/getFeld() ist jetzt @deprecated
Browse files Browse the repository at this point in the history
  • Loading branch information
Oli B committed Mar 26, 2024
1 parent 76ba043 commit 3807d4e
Show file tree
Hide file tree
Showing 3 changed files with 38 additions and 56 deletions.
27 changes: 1 addition & 26 deletions lib/src/main/java/gdv/xport/satz/Datensatz.java
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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() {
Expand Down
61 changes: 34 additions & 27 deletions lib/src/main/java/gdv/xport/satz/Satz.java
Original file line number Diff line number Diff line change
Expand Up @@ -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<NumFeld> 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());
}
}
}

/**
Expand All @@ -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();
}
Expand All @@ -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
Expand All @@ -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<NumFeld> sparte = getFeldSparte();
Expand Down
6 changes: 3 additions & 3 deletions lib/src/test/java/gdv/xport/satz/SatzTest.java
Original file line number Diff line number Diff line change
@@ -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.
Expand Down Expand Up @@ -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());
}
}
Expand Down

0 comments on commit 3807d4e

Please sign in to comment.