Renamed TanMediumKlasseVersion to TanMediumKlasse

This commit is contained in:
dankl 2019-12-29 17:47:41 +01:00 committed by dankito
parent 553b55e090
commit 9af7c53272
9 changed files with 22 additions and 22 deletions

View File

@ -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.KundensystemStatusWerte
import net.dankito.fints.messages.datenelemente.implementierte.signatur.Sicherheitsfunktion 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.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.*
import net.dankito.fints.response.InstituteSegmentId import net.dankito.fints.response.InstituteSegmentId
import net.dankito.fints.response.Response import net.dankito.fints.response.Response
@ -305,7 +305,7 @@ open class FinTsClient @JvmOverloads constructor(
open fun getTanMediaListAsync(bank: BankData, customer: CustomerData, open fun getTanMediaListAsync(bank: BankData, customer: CustomerData,
tanMediaKind: TanMedienArtVersion = TanMedienArtVersion.Alle, tanMediaKind: TanMedienArtVersion = TanMedienArtVersion.Alle,
tanMediumClass: TanMediumKlasseVersion = TanMediumKlasseVersion.AlleMedien, tanMediumClass: TanMediumKlasse = TanMediumKlasse.AlleMedien,
callback: (GetTanMediaListResponse) -> Unit) { callback: (GetTanMediaListResponse) -> Unit) {
threadPool.runAsync { threadPool.runAsync {
@ -314,7 +314,7 @@ open class FinTsClient @JvmOverloads constructor(
} }
open fun getTanMediaList(bank: BankData, customer: CustomerData, tanMediaKind: TanMedienArtVersion = TanMedienArtVersion.Alle, open fun getTanMediaList(bank: BankData, customer: CustomerData, tanMediaKind: TanMedienArtVersion = TanMedienArtVersion.Alle,
tanMediumClass: TanMediumKlasseVersion = TanMediumKlasseVersion.AlleMedien): GetTanMediaListResponse { tanMediumClass: TanMediumKlasse = TanMediumKlasse.AlleMedien): GetTanMediaListResponse {
val dialogData = DialogData() val dialogData = DialogData()

View File

@ -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.Aufsetzpunkt
import net.dankito.fints.messages.datenelemente.implementierte.Synchronisierungsmodus 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.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.datenelemente.implementierte.tan.TanProcess
import net.dankito.fints.messages.segmente.ISegmentNumberGenerator import net.dankito.fints.messages.segmente.ISegmentNumberGenerator
import net.dankito.fints.messages.segmente.Segment 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, open fun createGetTanMediaListMessage(bank: BankData, customer: CustomerData, dialogData: DialogData,
tanMediaKind: TanMedienArtVersion = TanMedienArtVersion.Alle, 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)) val result = getSupportedVersionsOfJob(CustomerSegmentId.TanMediaList, customer, listOf(2, 3, 4, 5))

View File

@ -4,7 +4,7 @@ import java.util.*
class TanGeneratorTanMedium( class TanGeneratorTanMedium(
mediumClass: TanMediumKlasseVersion, mediumClass: TanMediumKlasse,
status: TanMediumStatus, status: TanMediumStatus,
val cardNumber: String, val cardNumber: String,
val followUpCardNumber: String?, val followUpCardNumber: String?,

View File

@ -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. * 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( open class TanMedium(
val mediumClass: TanMediumKlasseVersion, val mediumClass: TanMediumKlasse,
val status: TanMediumStatus val status: TanMediumStatus
) { ) {

View File

@ -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 * 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. * Management der TAN-Medien kann aus diesen nach folgender Codierung selektiert werden.
*/ */
enum class TanMediumKlasseVersion(override val code: String, val supportedHkTabVersions: List<Int>) : ICodeEnum { enum class TanMediumKlasse(override val code: String, val supportedHkTabVersions: List<Int>) : ICodeEnum {
AlleMedien("A", listOf(4, 5)), AlleMedien("A", listOf(4, 5)),

View File

@ -4,7 +4,7 @@ import net.dankito.fints.messages.Existenzstatus
import net.dankito.fints.messages.datenelemente.abgeleiteteformate.Code import net.dankito.fints.messages.datenelemente.abgeleiteteformate.Code
import net.dankito.fints.messages.datenelemente.implementierte.allCodes 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.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.datenelementgruppen.implementierte.Segmentkopf
import net.dankito.fints.messages.segmente.Segment import net.dankito.fints.messages.segmente.Segment
import net.dankito.fints.messages.segmente.id.CustomerSegmentId import net.dankito.fints.messages.segmente.id.CustomerSegmentId
@ -14,20 +14,20 @@ open class TanGeneratorListeAnzeigen(
segmentVersion: Int, segmentVersion: Int,
segmentNumber: Int, segmentNumber: Int,
tanMediaKind: TanMedienArtVersion = TanMedienArtVersion.Alle, tanMediaKind: TanMedienArtVersion = TanMedienArtVersion.Alle,
tanMediumClass: TanMediumKlasseVersion = TanMediumKlasseVersion.AlleMedien tanMediumClass: TanMediumKlasse = TanMediumKlasse.AlleMedien
) )
: Segment(listOf( : Segment(listOf(
Segmentkopf(CustomerSegmentId.TanMediaList, segmentVersion, segmentNumber), Segmentkopf(CustomerSegmentId.TanMediaList, segmentVersion, segmentNumber),
Code(tanMediaKind, allCodes<TanMedienArtVersion>(), Existenzstatus.Mandatory), Code(tanMediaKind, allCodes<TanMedienArtVersion>(), Existenzstatus.Mandatory),
Code(tanMediumClass, allCodes<TanMediumKlasseVersion>(), Existenzstatus.Mandatory) Code(tanMediumClass, allCodes<TanMediumKlasse>(), Existenzstatus.Mandatory)
)) { )) {
init { init {
val supportedMediaClasses = TanMediumKlasseVersion.values().filter { it.supportedHkTabVersions.contains(segmentVersion) } val supportedMediaClasses = TanMediumKlasse.values().filter { it.supportedHkTabVersions.contains(segmentVersion) }
if (supportedMediaClasses.contains(tanMediumClass) == false) { if (supportedMediaClasses.contains(tanMediumClass) == false) {
throw UnsupportedOperationException("Value $tanMediumClass for TAN medium class is not valid for HKTAB version $segmentVersion. " + 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 })
} }
} }

View File

@ -411,10 +411,10 @@ open class ResponseParser @JvmOverloads constructor(
protected open fun parseTanMedium(hitabVersion: Int, dataElements: List<String>): TanMedium { protected open fun parseTanMedium(hitabVersion: Int, dataElements: List<String>): TanMedium {
val mediumClassCode = dataElements[0] val mediumClassCode = dataElements[0]
val mediumClass = parseCodeEnum(mediumClassCode, TanMediumKlasseVersion.values()) val mediumClass = parseCodeEnum(mediumClassCode, TanMediumKlasse.values())
if (mediumClass.supportedHkTabVersions.contains(hitabVersion) == false) { if (mediumClass.supportedHkTabVersions.contains(hitabVersion) == false) {
throw UnsupportedOperationException("$mediumClassCode is not a valid medium class for HITAB version $hitabVersion. " + 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()) val status = parseCodeEnum(dataElements[1], TanMediumStatus.values())
@ -424,12 +424,12 @@ open class ResponseParser @JvmOverloads constructor(
val remainingDataElements = dataElements.subList(2, dataElements.size - 2) val remainingDataElements = dataElements.subList(2, dataElements.size - 2)
return when (mediumClass) { return when (mediumClass) {
TanMediumKlasseVersion.TanGenerator -> parseTanGeneratorTanMedium(mediumClass, status, hitabVersion, remainingDataElements) TanMediumKlasse.TanGenerator -> parseTanGeneratorTanMedium(mediumClass, status, hitabVersion, remainingDataElements)
else -> TanMedium(mediumClass, status) else -> TanMedium(mediumClass, status)
} }
} }
protected open fun parseTanGeneratorTanMedium(mediumClass: TanMediumKlasseVersion, status: TanMediumStatus, protected open fun parseTanGeneratorTanMedium(mediumClass: TanMediumKlasse, status: TanMediumStatus,
hitabVersion: Int, dataElements: List<String>): TanGeneratorTanMedium { hitabVersion: Int, dataElements: List<String>): TanGeneratorTanMedium {
val cardType = if (hitabVersion < 2) null else parseStringToNullIfEmpty(dataElements[2]) // TODO: may parse to number val cardType = if (hitabVersion < 2) null else parseStringToNullIfEmpty(dataElements[2]) // TODO: may parse to number

View File

@ -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.KundensystemStatusWerte
import net.dankito.fints.messages.datenelemente.implementierte.tan.TanEinsatzOption 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.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.*
import net.dankito.fints.model.mapper.BankDataMapper import net.dankito.fints.model.mapper.BankDataMapper
import net.dankito.fints.response.client.FinTsClientResponse import net.dankito.fints.response.client.FinTsClientResponse
@ -139,7 +139,7 @@ class FinTsClientTest {
fun getTanMediaList() { fun getTanMediaList() {
// when // when
val result = underTest.getTanMediaList(Bank, Customer, TanMedienArtVersion.Alle, TanMediumKlasseVersion.AlleMedien) val result = underTest.getTanMediaList(Bank, Customer, TanMedienArtVersion.Alle, TanMediumKlasse.AlleMedien)
// then // then
@ -155,7 +155,7 @@ class FinTsClientTest {
fun getTanMediaList_UnsupportedTanMediumClass() { fun getTanMediaList_UnsupportedTanMediumClass() {
// when // when
underTest.getTanMediaList(Bank, Customer, TanMedienArtVersion.Alle, TanMediumKlasseVersion.BilateralVereinbart) underTest.getTanMediaList(Bank, Customer, TanMedienArtVersion.Alle, TanMediumKlasse.BilateralVereinbart)
// then // then

View File

@ -702,8 +702,8 @@ class ResponseParserTest : FinTsTestBase() {
result.getFirstSegmentById<TanMediaList>(InstituteSegmentId.TanMediaList)?.let { segment -> result.getFirstSegmentById<TanMediaList>(InstituteSegmentId.TanMediaList)?.let { segment ->
assertThat(segment.usageOption).isEqualTo(TanEinsatzOption.KundeKannGenauEinMediumZuEinerZeitNutzen) assertThat(segment.usageOption).isEqualTo(TanEinsatzOption.KundeKannGenauEinMediumZuEinerZeitNutzen)
assertThat(segment.tanMedia).containsOnly( assertThat(segment.tanMedia).containsOnly(
TanGeneratorTanMedium(TanMediumKlasseVersion.TanGenerator, TanMediumStatus.AktivFolgekarte, oldCardNumber, followUpCardNumber, null, null, null, mediaName), TanGeneratorTanMedium(TanMediumKlasse.TanGenerator, TanMediumStatus.AktivFolgekarte, oldCardNumber, followUpCardNumber, null, null, null, mediaName),
TanGeneratorTanMedium(TanMediumKlasseVersion.TanGenerator, TanMediumStatus.Verfuegbar, followUpCardNumber, null, 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}") } ?: run { Assert.fail("No segment of type TanMediaList found in ${result.receivedSegments}") }