Renamed TanMediumKlasseVersion to TanMediumKlasse
This commit is contained in:
parent
553b55e090
commit
9af7c53272
|
@ -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()
|
||||
|
||||
|
|
|
@ -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))
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@ import java.util.*
|
|||
|
||||
|
||||
class TanGeneratorTanMedium(
|
||||
mediumClass: TanMediumKlasseVersion,
|
||||
mediumClass: TanMediumKlasse,
|
||||
status: TanMediumStatus,
|
||||
val cardNumber: String,
|
||||
val followUpCardNumber: String?,
|
||||
|
|
|
@ -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
|
||||
) {
|
||||
|
||||
|
|
|
@ -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<Int>) : ICodeEnum {
|
||||
enum class TanMediumKlasse(override val code: String, val supportedHkTabVersions: List<Int>) : ICodeEnum {
|
||||
|
||||
AlleMedien("A", listOf(4, 5)),
|
||||
|
|
@ -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<TanMedienArtVersion>(), Existenzstatus.Mandatory),
|
||||
Code(tanMediumClass, allCodes<TanMediumKlasseVersion>(), Existenzstatus.Mandatory)
|
||||
Code(tanMediumClass, allCodes<TanMediumKlasse>(), 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 })
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -411,10 +411,10 @@ open class ResponseParser @JvmOverloads constructor(
|
|||
|
||||
protected open fun parseTanMedium(hitabVersion: Int, dataElements: List<String>): 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<String>): TanGeneratorTanMedium {
|
||||
|
||||
val cardType = if (hitabVersion < 2) null else parseStringToNullIfEmpty(dataElements[2]) // TODO: may parse to number
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -702,8 +702,8 @@ class ResponseParserTest : FinTsTestBase() {
|
|||
result.getFirstSegmentById<TanMediaList>(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}") }
|
||||
|
|
Loading…
Reference in New Issue