From 9af7c532726ac5b6170ce59dc0f151155164a8f5 Mon Sep 17 00:00:00 2001 From: dankl Date: Sun, 29 Dec 2019 17:47:41 +0100 Subject: [PATCH] Renamed TanMediumKlasseVersion to TanMediumKlasse --- .../src/main/kotlin/net/dankito/fints/FinTsClient.kt | 6 +++--- .../net/dankito/fints/messages/MessageBuilder.kt | 4 ++-- .../implementierte/tan/TanGeneratorTanMedium.kt | 2 +- .../datenelemente/implementierte/tan/TanMedium.kt | 2 +- .../{TanMediumKlasseVersion.kt => TanMediumKlasse.kt} | 2 +- .../implementierte/tan/TanGeneratorListeAnzeigen.kt | 10 +++++----- .../net/dankito/fints/response/ResponseParser.kt | 8 ++++---- .../test/kotlin/net/dankito/fints/FinTsClientTest.kt | 6 +++--- .../net/dankito/fints/response/ResponseParserTest.kt | 4 ++-- 9 files changed, 22 insertions(+), 22 deletions(-) rename fints4javaLib/src/main/kotlin/net/dankito/fints/messages/datenelemente/implementierte/tan/{TanMediumKlasseVersion.kt => TanMediumKlasse.kt} (83%) diff --git a/fints4javaLib/src/main/kotlin/net/dankito/fints/FinTsClient.kt b/fints4javaLib/src/main/kotlin/net/dankito/fints/FinTsClient.kt index 7a8ae1c4..e4b00087 100644 --- a/fints4javaLib/src/main/kotlin/net/dankito/fints/FinTsClient.kt +++ b/fints4javaLib/src/main/kotlin/net/dankito/fints/FinTsClient.kt @@ -7,7 +7,7 @@ import net.dankito.fints.messages.datenelemente.implementierte.KundensystemID import net.dankito.fints.messages.datenelemente.implementierte.KundensystemStatusWerte import net.dankito.fints.messages.datenelemente.implementierte.signatur.Sicherheitsfunktion import net.dankito.fints.messages.datenelemente.implementierte.tan.TanMedienArtVersion -import net.dankito.fints.messages.datenelemente.implementierte.tan.TanMediumKlasseVersion +import net.dankito.fints.messages.datenelemente.implementierte.tan.TanMediumKlasse import net.dankito.fints.model.* import net.dankito.fints.response.InstituteSegmentId import net.dankito.fints.response.Response @@ -305,7 +305,7 @@ open class FinTsClient @JvmOverloads constructor( open fun getTanMediaListAsync(bank: BankData, customer: CustomerData, tanMediaKind: TanMedienArtVersion = TanMedienArtVersion.Alle, - tanMediumClass: TanMediumKlasseVersion = TanMediumKlasseVersion.AlleMedien, + tanMediumClass: TanMediumKlasse = TanMediumKlasse.AlleMedien, callback: (GetTanMediaListResponse) -> Unit) { threadPool.runAsync { @@ -314,7 +314,7 @@ open class FinTsClient @JvmOverloads constructor( } open fun getTanMediaList(bank: BankData, customer: CustomerData, tanMediaKind: TanMedienArtVersion = TanMedienArtVersion.Alle, - tanMediumClass: TanMediumKlasseVersion = TanMediumKlasseVersion.AlleMedien): GetTanMediaListResponse { + tanMediumClass: TanMediumKlasse = TanMediumKlasse.AlleMedien): GetTanMediaListResponse { val dialogData = DialogData() diff --git a/fints4javaLib/src/main/kotlin/net/dankito/fints/messages/MessageBuilder.kt b/fints4javaLib/src/main/kotlin/net/dankito/fints/messages/MessageBuilder.kt index 1b045ac6..b95951d0 100644 --- a/fints4javaLib/src/main/kotlin/net/dankito/fints/messages/MessageBuilder.kt +++ b/fints4javaLib/src/main/kotlin/net/dankito/fints/messages/MessageBuilder.kt @@ -4,7 +4,7 @@ import net.dankito.fints.extensions.containsAny import net.dankito.fints.messages.datenelemente.implementierte.Aufsetzpunkt import net.dankito.fints.messages.datenelemente.implementierte.Synchronisierungsmodus import net.dankito.fints.messages.datenelemente.implementierte.tan.TanMedienArtVersion -import net.dankito.fints.messages.datenelemente.implementierte.tan.TanMediumKlasseVersion +import net.dankito.fints.messages.datenelemente.implementierte.tan.TanMediumKlasse import net.dankito.fints.messages.datenelemente.implementierte.tan.TanProcess import net.dankito.fints.messages.segmente.ISegmentNumberGenerator import net.dankito.fints.messages.segmente.Segment @@ -141,7 +141,7 @@ open class MessageBuilder(protected val generator: ISegmentNumberGenerator = Seg open fun createGetTanMediaListMessage(bank: BankData, customer: CustomerData, dialogData: DialogData, tanMediaKind: TanMedienArtVersion = TanMedienArtVersion.Alle, - tanMediumClass: TanMediumKlasseVersion = TanMediumKlasseVersion.AlleMedien): MessageBuilderResult { + tanMediumClass: TanMediumKlasse = TanMediumKlasse.AlleMedien): MessageBuilderResult { val result = getSupportedVersionsOfJob(CustomerSegmentId.TanMediaList, customer, listOf(2, 3, 4, 5)) diff --git a/fints4javaLib/src/main/kotlin/net/dankito/fints/messages/datenelemente/implementierte/tan/TanGeneratorTanMedium.kt b/fints4javaLib/src/main/kotlin/net/dankito/fints/messages/datenelemente/implementierte/tan/TanGeneratorTanMedium.kt index f3d96067..e1e69fce 100644 --- a/fints4javaLib/src/main/kotlin/net/dankito/fints/messages/datenelemente/implementierte/tan/TanGeneratorTanMedium.kt +++ b/fints4javaLib/src/main/kotlin/net/dankito/fints/messages/datenelemente/implementierte/tan/TanGeneratorTanMedium.kt @@ -4,7 +4,7 @@ import java.util.* class TanGeneratorTanMedium( - mediumClass: TanMediumKlasseVersion, + mediumClass: TanMediumKlasse, status: TanMediumStatus, val cardNumber: String, val followUpCardNumber: String?, diff --git a/fints4javaLib/src/main/kotlin/net/dankito/fints/messages/datenelemente/implementierte/tan/TanMedium.kt b/fints4javaLib/src/main/kotlin/net/dankito/fints/messages/datenelemente/implementierte/tan/TanMedium.kt index cbe3fdf2..9728674a 100644 --- a/fints4javaLib/src/main/kotlin/net/dankito/fints/messages/datenelemente/implementierte/tan/TanMedium.kt +++ b/fints4javaLib/src/main/kotlin/net/dankito/fints/messages/datenelemente/implementierte/tan/TanMedium.kt @@ -9,7 +9,7 @@ package net.dankito.fints.messages.datenelemente.implementierte.tan * Wird das Datenelement „TAN-Medium-Klasse“ mit „B“ (bilateral vereinbart) belegt, so muss im Element „Sicherheitsfunktion, kodiert“ die entsprechende Sicherheitsfunktion in der DEG „Verfahrensparameter Zwei-Schritt-Verfahren“ referenziert werden. */ open class TanMedium( - val mediumClass: TanMediumKlasseVersion, + val mediumClass: TanMediumKlasse, val status: TanMediumStatus ) { diff --git a/fints4javaLib/src/main/kotlin/net/dankito/fints/messages/datenelemente/implementierte/tan/TanMediumKlasseVersion.kt b/fints4javaLib/src/main/kotlin/net/dankito/fints/messages/datenelemente/implementierte/tan/TanMediumKlasse.kt similarity index 83% rename from fints4javaLib/src/main/kotlin/net/dankito/fints/messages/datenelemente/implementierte/tan/TanMediumKlasseVersion.kt rename to fints4javaLib/src/main/kotlin/net/dankito/fints/messages/datenelemente/implementierte/tan/TanMediumKlasse.kt index c47038a5..6a962269 100644 --- a/fints4javaLib/src/main/kotlin/net/dankito/fints/messages/datenelemente/implementierte/tan/TanMediumKlasseVersion.kt +++ b/fints4javaLib/src/main/kotlin/net/dankito/fints/messages/datenelemente/implementierte/tan/TanMediumKlasse.kt @@ -7,7 +7,7 @@ import net.dankito.fints.messages.datenelemente.implementierte.ICodeEnum * dient der Klassifizierung der möglichen TAN-Medien. Bei Geschäftsvorfällen zum * Management der TAN-Medien kann aus diesen nach folgender Codierung selektiert werden. */ -enum class TanMediumKlasseVersion(override val code: String, val supportedHkTabVersions: List) : ICodeEnum { +enum class TanMediumKlasse(override val code: String, val supportedHkTabVersions: List) : ICodeEnum { AlleMedien("A", listOf(4, 5)), diff --git a/fints4javaLib/src/main/kotlin/net/dankito/fints/messages/segmente/implementierte/tan/TanGeneratorListeAnzeigen.kt b/fints4javaLib/src/main/kotlin/net/dankito/fints/messages/segmente/implementierte/tan/TanGeneratorListeAnzeigen.kt index 4cb94fff..d6493eec 100644 --- a/fints4javaLib/src/main/kotlin/net/dankito/fints/messages/segmente/implementierte/tan/TanGeneratorListeAnzeigen.kt +++ b/fints4javaLib/src/main/kotlin/net/dankito/fints/messages/segmente/implementierte/tan/TanGeneratorListeAnzeigen.kt @@ -4,7 +4,7 @@ import net.dankito.fints.messages.Existenzstatus import net.dankito.fints.messages.datenelemente.abgeleiteteformate.Code import net.dankito.fints.messages.datenelemente.implementierte.allCodes import net.dankito.fints.messages.datenelemente.implementierte.tan.TanMedienArtVersion -import net.dankito.fints.messages.datenelemente.implementierte.tan.TanMediumKlasseVersion +import net.dankito.fints.messages.datenelemente.implementierte.tan.TanMediumKlasse import net.dankito.fints.messages.datenelementgruppen.implementierte.Segmentkopf import net.dankito.fints.messages.segmente.Segment import net.dankito.fints.messages.segmente.id.CustomerSegmentId @@ -14,20 +14,20 @@ open class TanGeneratorListeAnzeigen( segmentVersion: Int, segmentNumber: Int, tanMediaKind: TanMedienArtVersion = TanMedienArtVersion.Alle, - tanMediumClass: TanMediumKlasseVersion = TanMediumKlasseVersion.AlleMedien + tanMediumClass: TanMediumKlasse = TanMediumKlasse.AlleMedien ) : Segment(listOf( Segmentkopf(CustomerSegmentId.TanMediaList, segmentVersion, segmentNumber), Code(tanMediaKind, allCodes(), Existenzstatus.Mandatory), - Code(tanMediumClass, allCodes(), Existenzstatus.Mandatory) + Code(tanMediumClass, allCodes(), Existenzstatus.Mandatory) )) { init { - val supportedMediaClasses = TanMediumKlasseVersion.values().filter { it.supportedHkTabVersions.contains(segmentVersion) } + val supportedMediaClasses = TanMediumKlasse.values().filter { it.supportedHkTabVersions.contains(segmentVersion) } if (supportedMediaClasses.contains(tanMediumClass) == false) { throw UnsupportedOperationException("Value $tanMediumClass for TAN medium class is not valid for HKTAB version $segmentVersion. " + - "Supported values are: " + TanMediumKlasseVersion.values().filter { it.supportedHkTabVersions.contains(segmentVersion) }.map { it.code }) + "Supported values are: " + TanMediumKlasse.values().filter { it.supportedHkTabVersions.contains(segmentVersion) }.map { it.code }) } } diff --git a/fints4javaLib/src/main/kotlin/net/dankito/fints/response/ResponseParser.kt b/fints4javaLib/src/main/kotlin/net/dankito/fints/response/ResponseParser.kt index 5630eedf..98cda9e1 100644 --- a/fints4javaLib/src/main/kotlin/net/dankito/fints/response/ResponseParser.kt +++ b/fints4javaLib/src/main/kotlin/net/dankito/fints/response/ResponseParser.kt @@ -411,10 +411,10 @@ open class ResponseParser @JvmOverloads constructor( protected open fun parseTanMedium(hitabVersion: Int, dataElements: List): TanMedium { val mediumClassCode = dataElements[0] - val mediumClass = parseCodeEnum(mediumClassCode, TanMediumKlasseVersion.values()) + val mediumClass = parseCodeEnum(mediumClassCode, TanMediumKlasse.values()) if (mediumClass.supportedHkTabVersions.contains(hitabVersion) == false) { throw UnsupportedOperationException("$mediumClassCode is not a valid medium class for HITAB version $hitabVersion. " + - "Supported values are: " + TanMediumKlasseVersion.values().filter { it.supportedHkTabVersions.contains(hitabVersion) }.map { it.code }) + "Supported values are: " + TanMediumKlasse.values().filter { it.supportedHkTabVersions.contains(hitabVersion) }.map { it.code }) } val status = parseCodeEnum(dataElements[1], TanMediumStatus.values()) @@ -424,12 +424,12 @@ open class ResponseParser @JvmOverloads constructor( val remainingDataElements = dataElements.subList(2, dataElements.size - 2) return when (mediumClass) { - TanMediumKlasseVersion.TanGenerator -> parseTanGeneratorTanMedium(mediumClass, status, hitabVersion, remainingDataElements) + TanMediumKlasse.TanGenerator -> parseTanGeneratorTanMedium(mediumClass, status, hitabVersion, remainingDataElements) else -> TanMedium(mediumClass, status) } } - protected open fun parseTanGeneratorTanMedium(mediumClass: TanMediumKlasseVersion, status: TanMediumStatus, + protected open fun parseTanGeneratorTanMedium(mediumClass: TanMediumKlasse, status: TanMediumStatus, hitabVersion: Int, dataElements: List): TanGeneratorTanMedium { val cardType = if (hitabVersion < 2) null else parseStringToNullIfEmpty(dataElements[2]) // TODO: may parse to number diff --git a/fints4javaLib/src/test/kotlin/net/dankito/fints/FinTsClientTest.kt b/fints4javaLib/src/test/kotlin/net/dankito/fints/FinTsClientTest.kt index 525b9884..7e6d2c92 100644 --- a/fints4javaLib/src/test/kotlin/net/dankito/fints/FinTsClientTest.kt +++ b/fints4javaLib/src/test/kotlin/net/dankito/fints/FinTsClientTest.kt @@ -7,7 +7,7 @@ import net.dankito.fints.messages.datenelemente.implementierte.KundensystemStatu import net.dankito.fints.messages.datenelemente.implementierte.KundensystemStatusWerte import net.dankito.fints.messages.datenelemente.implementierte.tan.TanEinsatzOption import net.dankito.fints.messages.datenelemente.implementierte.tan.TanMedienArtVersion -import net.dankito.fints.messages.datenelemente.implementierte.tan.TanMediumKlasseVersion +import net.dankito.fints.messages.datenelemente.implementierte.tan.TanMediumKlasse import net.dankito.fints.model.* import net.dankito.fints.model.mapper.BankDataMapper import net.dankito.fints.response.client.FinTsClientResponse @@ -139,7 +139,7 @@ class FinTsClientTest { fun getTanMediaList() { // when - val result = underTest.getTanMediaList(Bank, Customer, TanMedienArtVersion.Alle, TanMediumKlasseVersion.AlleMedien) + val result = underTest.getTanMediaList(Bank, Customer, TanMedienArtVersion.Alle, TanMediumKlasse.AlleMedien) // then @@ -155,7 +155,7 @@ class FinTsClientTest { fun getTanMediaList_UnsupportedTanMediumClass() { // when - underTest.getTanMediaList(Bank, Customer, TanMedienArtVersion.Alle, TanMediumKlasseVersion.BilateralVereinbart) + underTest.getTanMediaList(Bank, Customer, TanMedienArtVersion.Alle, TanMediumKlasse.BilateralVereinbart) // then diff --git a/fints4javaLib/src/test/kotlin/net/dankito/fints/response/ResponseParserTest.kt b/fints4javaLib/src/test/kotlin/net/dankito/fints/response/ResponseParserTest.kt index d00cfdd0..fd0b051d 100644 --- a/fints4javaLib/src/test/kotlin/net/dankito/fints/response/ResponseParserTest.kt +++ b/fints4javaLib/src/test/kotlin/net/dankito/fints/response/ResponseParserTest.kt @@ -702,8 +702,8 @@ class ResponseParserTest : FinTsTestBase() { result.getFirstSegmentById(InstituteSegmentId.TanMediaList)?.let { segment -> assertThat(segment.usageOption).isEqualTo(TanEinsatzOption.KundeKannGenauEinMediumZuEinerZeitNutzen) assertThat(segment.tanMedia).containsOnly( - TanGeneratorTanMedium(TanMediumKlasseVersion.TanGenerator, TanMediumStatus.AktivFolgekarte, oldCardNumber, followUpCardNumber, null, null, null, mediaName), - TanGeneratorTanMedium(TanMediumKlasseVersion.TanGenerator, TanMediumStatus.Verfuegbar, followUpCardNumber, null, null, null, null, mediaName) + TanGeneratorTanMedium(TanMediumKlasse.TanGenerator, TanMediumStatus.AktivFolgekarte, oldCardNumber, followUpCardNumber, null, null, null, mediaName), + TanGeneratorTanMedium(TanMediumKlasse.TanGenerator, TanMediumStatus.Verfuegbar, followUpCardNumber, null, null, null, null, mediaName) ) } ?: run { Assert.fail("No segment of type TanMediaList found in ${result.receivedSegments}") }