Removed Existenzstatus from Segment

This commit is contained in:
dankl 2019-10-13 15:57:18 +02:00 committed by dankito
parent 4dfc53994c
commit 816b278dd0
16 changed files with 18 additions and 27 deletions

View File

@ -1,13 +1,12 @@
package net.dankito.fints.messages.segmente package net.dankito.fints.messages.segmente
import net.dankito.fints.messages.Existenzstatus import net.dankito.fints.messages.Nachrichtenteil
import net.dankito.fints.messages.Separators import net.dankito.fints.messages.Separators
import net.dankito.fints.messages.datenelemente.DatenelementBase import net.dankito.fints.messages.datenelemente.DatenelementBase
import java.util.regex.Pattern import java.util.regex.Pattern
abstract class Segment(val dataElementsAndGroups: List<DatenelementBase>, existenzstatus: Existenzstatus) abstract class Segment(val dataElementsAndGroups: List<DatenelementBase>) : Nachrichtenteil() {
: DatenelementBase(existenzstatus) {
companion object { companion object {
val ReplaceEmptyDataElementGroupSeparatorsAtEndPattern = val ReplaceEmptyDataElementGroupSeparatorsAtEndPattern =

View File

@ -1,6 +1,5 @@
package net.dankito.fints.messages.segmente package net.dankito.fints.messages.segmente
import net.dankito.fints.messages.Existenzstatus
import net.dankito.fints.messages.datenelemente.implementierte.Synchronisierungsmodus import net.dankito.fints.messages.datenelemente.implementierte.Synchronisierungsmodus
import net.dankito.fints.messages.datenelemente.implementierte.SynchronisierungsmodusDatenelement import net.dankito.fints.messages.datenelemente.implementierte.SynchronisierungsmodusDatenelement
import net.dankito.fints.messages.datenelementgruppen.implementierte.Segmentkopf import net.dankito.fints.messages.datenelementgruppen.implementierte.Segmentkopf
@ -14,4 +13,4 @@ open class Synchronisierung(
) : Segment(listOf( ) : Segment(listOf(
Segmentkopf(CustomerSegmentId.Synchronization, 3, segmentNumber), Segmentkopf(CustomerSegmentId.Synchronization, 3, segmentNumber),
SynchronisierungsmodusDatenelement(mode) SynchronisierungsmodusDatenelement(mode)
), Existenzstatus.Mandatory) ))

View File

@ -1,6 +1,5 @@
package net.dankito.fints.messages.segmente.implementierte package net.dankito.fints.messages.segmente.implementierte
import net.dankito.fints.messages.Existenzstatus
import net.dankito.fints.messages.datenelemente.implementierte.DialogId import net.dankito.fints.messages.datenelemente.implementierte.DialogId
import net.dankito.fints.messages.datenelementgruppen.implementierte.Segmentkopf import net.dankito.fints.messages.datenelementgruppen.implementierte.Segmentkopf
import net.dankito.fints.messages.segmente.Segment import net.dankito.fints.messages.segmente.Segment
@ -15,4 +14,4 @@ class Dialogende(
) : Segment(listOf( ) : Segment(listOf(
Segmentkopf(CustomerSegmentId.DialogEnd, 1, segmentNumber), Segmentkopf(CustomerSegmentId.DialogEnd, 1, segmentNumber),
DialogId(dialogData.dialogId) DialogId(dialogData.dialogId)
), Existenzstatus.Mandatory) ))

View File

@ -23,4 +23,4 @@ open class IdentifikationsSegment(
KundenID(customer.customerId), KundenID(customer.customerId),
KundensystemID(customer.customerSystemId), KundensystemID(customer.customerSystemId),
KundensystemStatus(customer.customerSystemStatus, Existenzstatus.Mandatory) KundensystemStatus(customer.customerSystemStatus, Existenzstatus.Mandatory)
), Existenzstatus.Mandatory) ))

View File

@ -1,6 +1,5 @@
package net.dankito.fints.messages.segmente.implementierte package net.dankito.fints.messages.segmente.implementierte
import net.dankito.fints.messages.Existenzstatus
import net.dankito.fints.messages.datenelemente.implementierte.Nachrichtennummer import net.dankito.fints.messages.datenelemente.implementierte.Nachrichtennummer
import net.dankito.fints.messages.datenelementgruppen.implementierte.Segmentkopf import net.dankito.fints.messages.datenelementgruppen.implementierte.Segmentkopf
import net.dankito.fints.messages.segmente.Segment import net.dankito.fints.messages.segmente.Segment
@ -18,4 +17,4 @@ open class Nachrichtenabschluss(
) : Segment(listOf( ) : Segment(listOf(
Segmentkopf(MessageSegmentId.MessageEnding, 1, segmentNumber), Segmentkopf(MessageSegmentId.MessageEnding, 1, segmentNumber),
Nachrichtennummer(dialogData.messageNumber) Nachrichtennummer(dialogData.messageNumber)
), Existenzstatus.Mandatory) ))

View File

@ -1,10 +1,9 @@
package net.dankito.fints.messages.segmente.implementierte package net.dankito.fints.messages.segmente.implementierte
import net.dankito.fints.messages.Existenzstatus
import net.dankito.fints.messages.datenelemente.implementierte.* import net.dankito.fints.messages.datenelemente.implementierte.*
import net.dankito.fints.messages.datenelementgruppen.implementierte.Segmentkopf import net.dankito.fints.messages.datenelementgruppen.implementierte.Segmentkopf
import net.dankito.fints.messages.segmente.id.MessageSegmentId
import net.dankito.fints.messages.segmente.Segment import net.dankito.fints.messages.segmente.Segment
import net.dankito.fints.messages.segmente.id.MessageSegmentId
import net.dankito.fints.model.DialogData import net.dankito.fints.model.DialogData
@ -19,4 +18,4 @@ open class Nachrichtenkopf(
HbciVersionDatenelement(HbciVersion.FinTs_3_0_0), HbciVersionDatenelement(HbciVersion.FinTs_3_0_0),
DialogId(dialogData.dialogId), DialogId(dialogData.dialogId),
Nachrichtennummer(dialogData.messageNumber) Nachrichtennummer(dialogData.messageNumber)
), Existenzstatus.Mandatory) ))

View File

@ -1,6 +1,5 @@
package net.dankito.fints.messages.segmente.implementierte package net.dankito.fints.messages.segmente.implementierte
import net.dankito.fints.messages.Existenzstatus
import net.dankito.fints.messages.datenelemente.implementierte.NotAllowedDatenelement import net.dankito.fints.messages.datenelemente.implementierte.NotAllowedDatenelement
import net.dankito.fints.messages.datenelemente.implementierte.signatur.Sicherheitskontrollreferenz import net.dankito.fints.messages.datenelemente.implementierte.signatur.Sicherheitskontrollreferenz
import net.dankito.fints.messages.datenelementgruppen.implementierte.Segmentkopf import net.dankito.fints.messages.datenelementgruppen.implementierte.Segmentkopf
@ -23,4 +22,4 @@ open class Signaturabschluss(
Sicherheitskontrollreferenz(securityControlReference), // has to be the same as in Signaturkopf Sicherheitskontrollreferenz(securityControlReference), // has to be the same as in Signaturkopf
NotAllowedDatenelement(), // only used for HBCI, not allowed for PIN/TAN NotAllowedDatenelement(), // only used for HBCI, not allowed for PIN/TAN
BenutzerdefinierteSignatur(pinOrTan) BenutzerdefinierteSignatur(pinOrTan)
), Existenzstatus.Mandatory) ))

View File

@ -1,6 +1,5 @@
package net.dankito.fints.messages.segmente.implementierte package net.dankito.fints.messages.segmente.implementierte
import net.dankito.fints.messages.Existenzstatus
import net.dankito.fints.messages.datenelemente.implementierte.signatur.* import net.dankito.fints.messages.datenelemente.implementierte.signatur.*
import net.dankito.fints.messages.datenelementgruppen.implementierte.Segmentkopf import net.dankito.fints.messages.datenelementgruppen.implementierte.Segmentkopf
import net.dankito.fints.messages.datenelementgruppen.implementierte.signatur.* import net.dankito.fints.messages.datenelementgruppen.implementierte.signatur.*
@ -49,4 +48,4 @@ open class Signaturkopf(
HashalgorithmusDatenelementgruppe(), HashalgorithmusDatenelementgruppe(),
SignaturalgorithmusDatenelementgruppe(algorithm, mode), SignaturalgorithmusDatenelementgruppe(algorithm, mode),
Schluesselname(bank.countryCode, bank.bankCode, customer.customerId, Schluesselart.Signierschluessel, keyNumber, keyVersion) Schluesselname(bank.countryCode, bank.bankCode, customer.customerId, Schluesselart.Signierschluessel, keyNumber, keyVersion)
), Existenzstatus.Mandatory) ))

View File

@ -22,4 +22,4 @@ open class Verarbeitungsvorbereitung(
DialogspracheDatenelement(customer.selectedLanguage, Existenzstatus.Mandatory), DialogspracheDatenelement(customer.selectedLanguage, Existenzstatus.Mandatory),
Produktbezeichnung(product.name, Existenzstatus.Mandatory), Produktbezeichnung(product.name, Existenzstatus.Mandatory),
Produktversion(product.version, Existenzstatus.Mandatory) Produktversion(product.version, Existenzstatus.Mandatory)
), Existenzstatus.Mandatory) ))

View File

@ -1,6 +1,5 @@
package net.dankito.fints.messages.segmente.implementierte package net.dankito.fints.messages.segmente.implementierte
import net.dankito.fints.messages.Existenzstatus
import net.dankito.fints.messages.datenelemente.implementierte.encryption.PinTanVerschluesselteDatenDatenelement import net.dankito.fints.messages.datenelemente.implementierte.encryption.PinTanVerschluesselteDatenDatenelement
import net.dankito.fints.messages.datenelementgruppen.implementierte.Segmentkopf import net.dankito.fints.messages.datenelementgruppen.implementierte.Segmentkopf
import net.dankito.fints.messages.segmente.Segment import net.dankito.fints.messages.segmente.Segment
@ -16,4 +15,4 @@ open class VerschluesselteDaten(
) : Segment(listOf( ) : Segment(listOf(
Segmentkopf(MessageSegmentId.EncryptionData, 1, 999), Segmentkopf(MessageSegmentId.EncryptionData, 1, 999),
PinTanVerschluesselteDatenDatenelement(payload) PinTanVerschluesselteDatenDatenelement(payload)
), Existenzstatus.Mandatory) ))

View File

@ -1,6 +1,5 @@
package net.dankito.fints.messages.segmente.implementierte package net.dankito.fints.messages.segmente.implementierte
import net.dankito.fints.messages.Existenzstatus
import net.dankito.fints.messages.datenelemente.implementierte.NotAllowedDatenelement import net.dankito.fints.messages.datenelemente.implementierte.NotAllowedDatenelement
import net.dankito.fints.messages.datenelemente.implementierte.encryption.Komprimierungsfunktion import net.dankito.fints.messages.datenelemente.implementierte.encryption.Komprimierungsfunktion
import net.dankito.fints.messages.datenelemente.implementierte.encryption.KomprimierungsfunktionDatenelement import net.dankito.fints.messages.datenelemente.implementierte.encryption.KomprimierungsfunktionDatenelement
@ -55,4 +54,4 @@ open class Verschluesselungskopf(
Schluesselname(bank.countryCode, bank.bankCode, customer.customerId, key, keyNumber, keyVersion), Schluesselname(bank.countryCode, bank.bankCode, customer.customerId, key, keyNumber, keyVersion),
KomprimierungsfunktionDatenelement(algorithm), KomprimierungsfunktionDatenelement(algorithm),
NotAllowedDatenelement() // Certificate not applicapable for PIN/TAN NotAllowedDatenelement() // Certificate not applicapable for PIN/TAN
), Existenzstatus.Mandatory) ))

View File

@ -35,4 +35,4 @@ open class ZweiSchrittTanEinreichung(
NotAllowedDatenelement(), // TODO: Parameter Challenge-Klasse // O: Bei TAN-Process=1 „Challenge-Klasse erforderlich“=J. N: sonst NotAllowedDatenelement(), // TODO: Parameter Challenge-Klasse // O: Bei TAN-Process=1 „Challenge-Klasse erforderlich“=J. N: sonst
BezeichnungDesTANMediums(tanMediaIdentifier, Existenzstatus.Optional), // M: bei TAN-Prozess=1, 3, 4 und „Anzahl unterstützter aktiver TAN-Medien“ nicht vorhanden. O: sonst BezeichnungDesTANMediums(tanMediaIdentifier, Existenzstatus.Optional), // M: bei TAN-Prozess=1, 3, 4 und „Anzahl unterstützter aktiver TAN-Medien“ nicht vorhanden. O: sonst
NotAllowedDatenelement() // TODO: Antwort HHD_UC // M: bei TAN-Prozess=2 und „Antwort HHD_UC erforderlich“=“J“. O: sonst NotAllowedDatenelement() // TODO: Antwort HHD_UC // M: bei TAN-Prozess=2 und „Antwort HHD_UC erforderlich“=“J“. O: sonst
), Existenzstatus.Mandatory) ))

View File

@ -25,4 +25,4 @@ open class SepaSegment(
KontoverbindungInternational(iban, bic, null), KontoverbindungInternational(iban, bic, null),
object : AlphanumerischesDatenelement(sepaDescriptorUrn, Existenzstatus.Mandatory, 256) { }, object : AlphanumerischesDatenelement(sepaDescriptorUrn, Existenzstatus.Mandatory, 256) { },
SepaMessage(sepaFileName, replacementStrings, messageCreator) SepaMessage(sepaFileName, replacementStrings, messageCreator)
), Existenzstatus.Mandatory) ))

View File

@ -34,4 +34,4 @@ abstract class KontoumsaetzeZeitraumMt940Base(
// Datum(toDate ?: 0, Existenzstatus.Optional), // Datum(toDate ?: 0, Existenzstatus.Optional),
// MaximaleAnzahlEintraege(maxAmount ?: 0, Existenzstatus.Optional), // > 0. O: „Eingabe Anzahl Einträge erlaubt“ (BPD) = „J“. N: sonst // MaximaleAnzahlEintraege(maxAmount ?: 0, Existenzstatus.Optional), // > 0. O: „Eingabe Anzahl Einträge erlaubt“ (BPD) = „J“. N: sonst
// Aufsetzpunkt(continuationId ?: "", Existenzstatus.Optional) // M: vom Institut wurde ein Aufsetzpunkt rückgemeldet. N: sonst // Aufsetzpunkt(continuationId ?: "", Existenzstatus.Optional) // M: vom Institut wurde ein Aufsetzpunkt rückgemeldet. N: sonst
), Existenzstatus.Mandatory) ))

View File

@ -23,4 +23,4 @@ open class Saldenabfrage(
AlleKonten(allAccounts, Existenzstatus.Mandatory) AlleKonten(allAccounts, Existenzstatus.Mandatory)
// MaximaleAnzahlEintraege(maxAmountEntries ?: 0, Existenzstatus.Optional), // MaximaleAnzahlEintraege(maxAmountEntries ?: 0, Existenzstatus.Optional),
// Aufsetzpunkt("", Existenzstatus.Optional) // Aufsetzpunkt("", Existenzstatus.Optional)
), Existenzstatus.Mandatory) ))

View File

@ -23,7 +23,7 @@ class SegmentTest {
createTextDataElement("DE8"), createTextDataElement("DE8"),
createEmptyTextDataElement(), createEmptyTextDataElement(),
createEmptyTextDataElement() createEmptyTextDataElement()
), Existenzstatus.Mandatory) { } )) { }
// when // when