From a46b61bec3e670422fe8e84db44c07f80272495b Mon Sep 17 00:00:00 2001 From: Antoine A <> Date: Wed, 20 Mar 2024 18:33:45 +0100 Subject: Share duration parsing with libeufin-nexus --- .../main/kotlin/tech/libeufin/nexus/EbicsSubmit.kt | 22 ++++++++++------------ 1 file changed, 10 insertions(+), 12 deletions(-) (limited to 'nexus/src/main/kotlin/tech/libeufin/nexus/EbicsSubmit.kt') diff --git a/nexus/src/main/kotlin/tech/libeufin/nexus/EbicsSubmit.kt b/nexus/src/main/kotlin/tech/libeufin/nexus/EbicsSubmit.kt index 8366f064..cf206380 100644 --- a/nexus/src/main/kotlin/tech/libeufin/nexus/EbicsSubmit.kt +++ b/nexus/src/main/kotlin/tech/libeufin/nexus/EbicsSubmit.kt @@ -29,6 +29,7 @@ import tech.libeufin.nexus.ebics.* import tech.libeufin.nexus.db.* import java.time.* import java.util.* +import kotlin.time.toKotlinDuration /** * Groups useful parameters to submit pain.001 via EBICS. @@ -156,20 +157,17 @@ class EbicsSubmit : CliktCommand("Submits any initiated payment found in the dat fileLogger = FileLogger(ebicsLog) ) Database(dbCfg.dbConnStr).use { db -> - val frequency = if (transient) { + val frequency: Duration = if (transient) { logger.info("Transient mode: submitting what found and returning.") - null + Duration.ZERO } else { - val configValue = cfg.config.requireString("nexus-submit", "frequency") - val frequencySeconds = checkFrequency(configValue) - val frequency: NexusFrequency = NexusFrequency(frequencySeconds, configValue) - logger.debug("Running with a frequency of ${frequency.fromConfig}") - if (frequency.inSeconds == 0) { + var frequency = cfg.config.requireDuration("nexus-submit", "frequency") + val raw = cfg.config.requireString("nexus-submit", "frequency") + logger.debug("Running with a frequency of $raw") + if (frequency == Duration.ZERO) { logger.warn("Long-polling not implemented, running therefore in transient mode") - null - } else { - frequency } + frequency } do { try { @@ -178,8 +176,8 @@ class EbicsSubmit : CliktCommand("Submits any initiated payment found in the dat throw Exception("Failed to submit payments") } // TODO take submitBatch taken time in the delay - delay(((frequency?.inSeconds ?: 0) * 1000).toLong()) - } while (frequency != null) + delay(frequency.toKotlinDuration()) + } while (frequency != Duration.ZERO) } } } \ No newline at end of file -- cgit v1.2.3