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.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()

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.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))

View File

@ -4,7 +4,7 @@ import java.util.*
class TanGeneratorTanMedium(
mediumClass: TanMediumKlasseVersion,
mediumClass: TanMediumKlasse,
status: TanMediumStatus,
val cardNumber: 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.
*/
open class TanMedium(
val mediumClass: TanMediumKlasseVersion,
val mediumClass: TanMediumKlasse,
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
* 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)),

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.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 })
}
}

View File

@ -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

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.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

View File

@ -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}") }