Renamed SupportedJob to JobParameters
This commit is contained in:
parent
d6cf9388c0
commit
fdb8545d6b
|
@ -591,8 +591,8 @@ open class FinTsClient @JvmOverloads constructor(
|
|||
return bank.supportedTanProcedures.firstOrNull { it.securityFunction == securityFunction }
|
||||
}
|
||||
|
||||
protected open fun setAllowedJobsForAccount(account: AccountData, supportedJobs: List<SupportedJob>) {
|
||||
val allowedJobsForAccount = mutableListOf<SupportedJob>()
|
||||
protected open fun setAllowedJobsForAccount(account: AccountData, supportedJobs: List<JobParameters>) {
|
||||
val allowedJobsForAccount = mutableListOf<JobParameters>()
|
||||
|
||||
for (job in supportedJobs) {
|
||||
if (isJobSupported(account, job)) {
|
||||
|
@ -643,9 +643,9 @@ open class FinTsClient @JvmOverloads constructor(
|
|||
}
|
||||
}
|
||||
|
||||
protected open fun isJobSupported(account: AccountData, job: SupportedJob): Boolean {
|
||||
protected open fun isJobSupported(account: AccountData, supportedJob: JobParameters): Boolean {
|
||||
for (allowedJobName in account.allowedJobNames) {
|
||||
if (allowedJobName == job.jobName) {
|
||||
if (allowedJobName == supportedJob.jobName) {
|
||||
return true
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
package net.dankito.fints.model
|
||||
|
||||
import net.dankito.fints.response.segments.AccountType
|
||||
import net.dankito.fints.response.segments.SupportedJob
|
||||
import net.dankito.fints.response.segments.JobParameters
|
||||
|
||||
|
||||
open class AccountData(
|
||||
|
@ -17,7 +17,7 @@ open class AccountData(
|
|||
val productName: String?,
|
||||
val accountLimit: String?,
|
||||
val allowedJobNames: List<String>,
|
||||
var allowedJobs: List<SupportedJob> = listOf()
|
||||
var allowedJobs: List<JobParameters> = listOf()
|
||||
) {
|
||||
|
||||
override fun toString(): String {
|
||||
|
|
|
@ -3,7 +3,7 @@ package net.dankito.fints.model
|
|||
import net.dankito.fints.messages.datenelemente.implementierte.BPDVersion
|
||||
import net.dankito.fints.messages.datenelemente.implementierte.Dialogsprache
|
||||
import net.dankito.fints.messages.datenelemente.implementierte.HbciVersion
|
||||
import net.dankito.fints.response.segments.SupportedJob
|
||||
import net.dankito.fints.response.segments.JobParameters
|
||||
|
||||
|
||||
open class BankData(
|
||||
|
@ -23,7 +23,7 @@ open class BankData(
|
|||
var supportedHbciVersions: List<HbciVersion> = listOf(),
|
||||
var supportedTanProcedures: List<TanProcedure> = listOf(),
|
||||
var supportedLanguages: List<Dialogsprache> = listOf(),
|
||||
var supportedJobs: List<SupportedJob> = listOf()
|
||||
var supportedJobs: List<JobParameters> = listOf()
|
||||
) {
|
||||
|
||||
|
||||
|
|
|
@ -67,13 +67,13 @@ open class Response constructor(
|
|||
|
||||
|
||||
/**
|
||||
* Returns an empty list of response didn't contain any allowed jobs.
|
||||
* Returns an empty list of response didn't contain any job parameters.
|
||||
*
|
||||
* Returns all jobs bank supports otherwise. This does not necessarily mean that they are also allowed for
|
||||
* customer / account, see [net.dankito.fints.model.AccountData.allowedJobNames].
|
||||
*/
|
||||
open val supportedJobs: List<SupportedJob>
|
||||
get() = receivedSegments.mapNotNull { it as? SupportedJob }
|
||||
open val supportedJobs: List<JobParameters>
|
||||
get() = receivedSegments.mapNotNull { it as? JobParameters }
|
||||
|
||||
open val supportedTanProceduresForUser: List<Sicherheitsfunktion>
|
||||
get() = segmentFeedbacks.flatMap { it.feedbacks }
|
||||
|
|
|
@ -32,7 +32,7 @@ open class ResponseParser @JvmOverloads constructor(
|
|||
|
||||
val EncryptionDataSegmentHeaderPattern = Pattern.compile("${MessageSegmentId.EncryptionData.id}:\\d{1,3}:\\d{1,3}\\+")
|
||||
|
||||
val AllowedJobSegmentPattern = Pattern.compile("HI[A-Z]{3}S")
|
||||
val JobParametersSegmentPattern = Pattern.compile("HI[A-Z]{3}S")
|
||||
|
||||
val FeedbackParametersSeparator = "; "
|
||||
|
||||
|
@ -96,8 +96,8 @@ open class ResponseParser @JvmOverloads constructor(
|
|||
InstituteSegmentId.AccountTransactionsMt940.id -> parseMt940AccountTransactions(segment, dataElementGroups)
|
||||
|
||||
else -> {
|
||||
if (AllowedJobSegmentPattern.matcher(segmentId).matches()) {
|
||||
return parseAllowedJob(segment, segmentId, dataElementGroups)
|
||||
if (JobParametersSegmentPattern.matcher(segmentId).matches()) {
|
||||
return parseJobParameters(segment, segmentId, dataElementGroups)
|
||||
}
|
||||
|
||||
UnparsedSegment(segment)
|
||||
|
@ -267,7 +267,7 @@ open class ResponseParser @JvmOverloads constructor(
|
|||
}
|
||||
|
||||
|
||||
protected open fun parseAllowedJob(segment: String, segmentId: String, dataElementGroups: List<String>): SupportedJob {
|
||||
protected open fun parseJobParameters(segment: String, segmentId: String, dataElementGroups: List<String>): JobParameters {
|
||||
var jobName = segmentId.substring(0, 5) // cut off last 'S' (which stands for 'parameter')
|
||||
jobName = jobName.replaceFirst("HI", "HK")
|
||||
|
||||
|
@ -277,14 +277,14 @@ open class ResponseParser @JvmOverloads constructor(
|
|||
// Bei aelteren Version fehlt das Datenelement 'Sicherheitsklasse'. Ist fuer PIN/TAN eh zu ignorieren
|
||||
val securityClass = if (dataElementGroups.size > 3) parseNullableInt(dataElementGroups[3]) else null
|
||||
|
||||
return SupportedJob(jobName, maxCountJobs, minimumCountSignatures, securityClass, segment)
|
||||
return JobParameters(jobName, maxCountJobs, minimumCountSignatures, securityClass, segment)
|
||||
}
|
||||
|
||||
|
||||
protected open fun parseTanInfo(segment: String, segmentId: String, dataElementGroups: List<String>): TanInfo {
|
||||
val allowedJob = parseAllowedJob(segment, segmentId, dataElementGroups)
|
||||
val jobParameters = parseJobParameters(segment, segmentId, dataElementGroups)
|
||||
|
||||
return TanInfo(allowedJob, parseTwoStepTanProcedureParameters(dataElementGroups[4]))
|
||||
return TanInfo(jobParameters, parseTwoStepTanProcedureParameters(dataElementGroups[4]))
|
||||
}
|
||||
|
||||
protected open fun parseTwoStepTanProcedureParameters(tanProcedures: String): TwoStepTanProcedureParameters {
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
package net.dankito.fints.response.segments
|
||||
|
||||
|
||||
open class SupportedJob(
|
||||
open class JobParameters(
|
||||
val jobName: String,
|
||||
val maxCountJobs: Int,
|
||||
val minimumCountSignatures: Int,
|
|
@ -10,10 +10,10 @@ open class TanInfo(
|
|||
|
||||
segmentString: String
|
||||
)
|
||||
: SupportedJob(jobName, maxCountJobs, minimumCountSignatures, securityClass, segmentString) {
|
||||
: JobParameters(jobName, maxCountJobs, minimumCountSignatures, securityClass, segmentString) {
|
||||
|
||||
constructor(supportedJob: SupportedJob, tanProcedureParameters: TwoStepTanProcedureParameters)
|
||||
: this(supportedJob.jobName, supportedJob.maxCountJobs, supportedJob.minimumCountSignatures,
|
||||
supportedJob.securityClass, tanProcedureParameters, supportedJob.segmentString)
|
||||
constructor(parameters: JobParameters, tanProcedureParameters: TwoStepTanProcedureParameters)
|
||||
: this(parameters.jobName, parameters.maxCountJobs, parameters.minimumCountSignatures,
|
||||
parameters.securityClass, tanProcedureParameters, parameters.segmentString)
|
||||
|
||||
}
|
|
@ -552,7 +552,7 @@ class ResponseParserTest : FinTsTestBase() {
|
|||
assertThat(result.receivedSegments).hasSize(92)
|
||||
|
||||
for (segment in result.receivedSegments) {
|
||||
assertThat(segment is SupportedJob).describedAs("$segment should be of type AllowedJob").isTrue()
|
||||
assertThat(segment is JobParameters).describedAs("$segment should be of type JobParameters").isTrue()
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue