Implemented convenience constructors

This commit is contained in:
dankito 2020-09-08 16:38:06 +02:00
parent e36576e4c6
commit f2bbff804d
5 changed files with 17 additions and 14 deletions

View File

@ -8,6 +8,7 @@ import net.dankito.banking.fints.messages.datenelemente.implementierte.signatur.
import net.dankito.banking.fints.messages.datenelemente.implementierte.signatur.Schluesselversion import net.dankito.banking.fints.messages.datenelemente.implementierte.signatur.Schluesselversion
import net.dankito.banking.fints.messages.datenelementgruppen.Datenelementgruppe import net.dankito.banking.fints.messages.datenelementgruppen.Datenelementgruppe
import net.dankito.banking.fints.messages.datenelementgruppen.implementierte.Kreditinstitutskennung import net.dankito.banking.fints.messages.datenelementgruppen.implementierte.Kreditinstitutskennung
import net.dankito.banking.fints.model.BankData
/** /**
@ -30,16 +31,14 @@ import net.dankito.banking.fints.messages.datenelementgruppen.implementierte.Kre
* FinTS-Füllwert, z. B. 0 * FinTS-Füllwert, z. B. 0
*/ */
open class Schluesselname( open class Schluesselname(
bankCountryCode: Int, bank: BankData,
bankCode: String,
userIdentification: String,
key: Schluesselart, key: Schluesselart,
keyNumber: Int, keyNumber: Int,
keyVersion: Int keyVersion: Int
) )
: Datenelementgruppe(listOf( : Datenelementgruppe(listOf(
Kreditinstitutskennung(bankCountryCode, bankCode), Kreditinstitutskennung(bank.countryCode, bank.bankCodeForOnlineBanking),
Benutzerkennung(userIdentification), Benutzerkennung(bank.customerId),
SchluesselartDatenelement(key), SchluesselartDatenelement(key),
Schluesselnummer(keyNumber), Schluesselnummer(keyNumber),
Schluesselversion(keyVersion) Schluesselversion(keyVersion)

View File

@ -8,17 +8,21 @@ import net.dankito.banking.fints.messages.datenelementgruppen.implementierte.Kre
import net.dankito.banking.fints.messages.datenelementgruppen.implementierte.Segmentkopf import net.dankito.banking.fints.messages.datenelementgruppen.implementierte.Segmentkopf
import net.dankito.banking.fints.messages.segmente.Segment import net.dankito.banking.fints.messages.segmente.Segment
import net.dankito.banking.fints.messages.segmente.id.CustomerSegmentId import net.dankito.banking.fints.messages.segmente.id.CustomerSegmentId
import net.dankito.banking.fints.model.BankData
import net.dankito.banking.fints.model.MessageBaseData import net.dankito.banking.fints.model.MessageBaseData
open class IdentifikationsSegment( open class IdentifikationsSegment(
segmentNumber: Int, segmentNumber: Int,
baseData: MessageBaseData bank: BankData
) : Segment(listOf( ) : Segment(listOf(
Segmentkopf(CustomerSegmentId.Identification, 2, segmentNumber), Segmentkopf(CustomerSegmentId.Identification, 2, segmentNumber),
Kreditinstitutskennung(baseData.bank.countryCode, baseData.bank.bankCodeForOnlineBanking), Kreditinstitutskennung(bank.countryCode, bank.bankCodeForOnlineBanking),
KundenID(baseData.bank.customerId), KundenID(bank.customerId),
KundensystemID(baseData.bank.customerSystemId), KundensystemID(bank.customerSystemId),
KundensystemStatus(baseData.bank.customerSystemStatus, Existenzstatus.Mandatory) KundensystemStatus(bank.customerSystemStatus, Existenzstatus.Mandatory)
)) )) {
constructor(segmentNumber: Int, baseData: MessageBaseData) : this(segmentNumber, baseData.bank)
}

View File

@ -49,5 +49,5 @@ open class Signaturkopf(
SicherheitsdatumUndUhrzeit(date, time), SicherheitsdatumUndUhrzeit(date, time),
HashalgorithmusDatenelementgruppe(), HashalgorithmusDatenelementgruppe(),
SignaturalgorithmusDatenelementgruppe(algorithm, mode), SignaturalgorithmusDatenelementgruppe(algorithm, mode),
Schluesselname(bank.countryCode, bank.bankCodeForOnlineBanking, bank.customerId, Schluesselart.Signierschluessel, keyNumber, keyVersion) Schluesselname(bank, Schluesselart.Signierschluessel, keyNumber, keyVersion)
)) ))

View File

@ -52,7 +52,7 @@ open class Verschluesselungskopf(
SicherheitsidentifikationDetails(bank.customerSystemId), SicherheitsidentifikationDetails(bank.customerSystemId),
SicherheitsdatumUndUhrzeit(date, time), SicherheitsdatumUndUhrzeit(date, time),
VerschluesselungsalgorithmusDatenelementgruppe(mode, encryptionAlgorithm), VerschluesselungsalgorithmusDatenelementgruppe(mode, encryptionAlgorithm),
Schluesselname(bank.countryCode, bank.bankCodeForOnlineBanking, bank.customerId, key, keyNumber, keyVersion), Schluesselname(bank, key, keyNumber, keyVersion),
KomprimierungsfunktionDatenelement(algorithm), KomprimierungsfunktionDatenelement(algorithm),
NotAllowedDatenelement() // Certificate not applicapable for PIN/TAN NotAllowedDatenelement() // Certificate not applicapable for PIN/TAN
)) ))

View File

@ -13,7 +13,7 @@ class IdentifikationsSegmentTest : FinTsTestBase() {
fun format() { fun format() {
// given // given
val underTest = IdentifikationsSegment(2, MessageBaseData(Bank, Product)) val underTest = IdentifikationsSegment(2, Bank)
// when // when
val result = underTest.format() val result = underTest.format()