Implemented logging only if it's really an exception and not a known wrong implementation of FinTS standard
This commit is contained in:
parent
347b3e59e7
commit
75399e0664
|
@ -456,8 +456,10 @@ open class ResponseParser(
|
||||||
try {
|
try {
|
||||||
return parseCodeEnum(smsAbbuchungskontoErforderlichString, SmsAbbuchungskontoErforderlich.values())
|
return parseCodeEnum(smsAbbuchungskontoErforderlichString, SmsAbbuchungskontoErforderlich.values())
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
|
if (isEncodedBooleanValue(smsAbbuchungskontoErforderlichString) == false) {
|
||||||
log.error(e) { "Could not parse '$smsAbbuchungskontoErforderlichString' to SmsAbbuchungskontoErforderlich" }
|
log.error(e) { "Could not parse '$smsAbbuchungskontoErforderlichString' to SmsAbbuchungskontoErforderlich" }
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Bankhaus Neelmeyer and Oldenburgische Landesbank encode SmsAbbuchungskontoErforderlich with boolean values (with is wrong according to FinTS standard)
|
// Bankhaus Neelmeyer and Oldenburgische Landesbank encode SmsAbbuchungskontoErforderlich with boolean values (with is wrong according to FinTS standard)
|
||||||
return tryToParseEnumAsBoolean(smsAbbuchungskontoErforderlichString,
|
return tryToParseEnumAsBoolean(smsAbbuchungskontoErforderlichString,
|
||||||
|
@ -469,8 +471,10 @@ open class ResponseParser(
|
||||||
try {
|
try {
|
||||||
return parseCodeEnum(auftraggeberkontoErforderlichString, AuftraggeberkontoErforderlich.values())
|
return parseCodeEnum(auftraggeberkontoErforderlichString, AuftraggeberkontoErforderlich.values())
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
|
if (isEncodedBooleanValue(auftraggeberkontoErforderlichString) == false) {
|
||||||
log.error(e) { "Could not parse '$auftraggeberkontoErforderlichString' to AuftraggeberkontoErforderlich" }
|
log.error(e) { "Could not parse '$auftraggeberkontoErforderlichString' to AuftraggeberkontoErforderlich" }
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Bankhaus Neelmeyer and Oldenburgische Landesbank encode AuftraggeberkontoErforderlich with boolean values (with is wrong according to FinTS standard)
|
// Bankhaus Neelmeyer and Oldenburgische Landesbank encode AuftraggeberkontoErforderlich with boolean values (with is wrong according to FinTS standard)
|
||||||
return tryToParseEnumAsBoolean(auftraggeberkontoErforderlichString,
|
return tryToParseEnumAsBoolean(auftraggeberkontoErforderlichString,
|
||||||
|
@ -478,6 +482,10 @@ open class ResponseParser(
|
||||||
AuftraggeberkontoErforderlich.AuftraggeberkontoDarfNichtAngegebenWerden)
|
AuftraggeberkontoErforderlich.AuftraggeberkontoDarfNichtAngegebenWerden)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected open fun isEncodedBooleanValue(value: String): Boolean {
|
||||||
|
return value == "N" || value == "J"
|
||||||
|
}
|
||||||
|
|
||||||
protected open fun <T : Enum<T>> tryToParseEnumAsBoolean(enumString: String, valueForTrue: T, valueForFalse: T): T {
|
protected open fun <T : Enum<T>> tryToParseEnumAsBoolean(enumString: String, valueForTrue: T, valueForFalse: T): T {
|
||||||
try {
|
try {
|
||||||
val bool = parseBoolean(enumString)
|
val bool = parseBoolean(enumString)
|
||||||
|
|
Loading…
Reference in New Issue