aboutsummaryrefslogtreecommitdiff
path: root/nexus/src/main/kotlin/tech
diff options
context:
space:
mode:
authorAntoine A <>2024-04-08 10:09:54 +0200
committerAntoine A <>2024-04-08 10:09:54 +0200
commitd43a1a66429f056be442e8fa21ae50a3642147bb (patch)
tree18900ab5877dfcd4f61b03e2ef7560206febc2ef /nexus/src/main/kotlin/tech
parentfddb1e818e191f4870bac68b7f7893f18fccb4fb (diff)
downloadlibeufin-d43a1a66429f056be442e8fa21ae50a3642147bb.tar.gz
libeufin-d43a1a66429f056be442e8fa21ae50a3642147bb.tar.bz2
libeufin-d43a1a66429f056be442e8fa21ae50a3642147bb.zip
Optimise imports
Diffstat (limited to 'nexus/src/main/kotlin/tech')
-rw-r--r--nexus/src/main/kotlin/tech/libeufin/nexus/DbInit.kt6
-rw-r--r--nexus/src/main/kotlin/tech/libeufin/nexus/EbicsFetch.kt10
-rw-r--r--nexus/src/main/kotlin/tech/libeufin/nexus/EbicsSubmit.kt2
-rw-r--r--nexus/src/main/kotlin/tech/libeufin/nexus/Main.kt24
-rw-r--r--nexus/src/main/kotlin/tech/libeufin/nexus/PDF.kt5
-rw-r--r--nexus/src/main/kotlin/tech/libeufin/nexus/XMLUtil.kt17
-rw-r--r--nexus/src/main/kotlin/tech/libeufin/nexus/XmlCombinators.kt5
-rw-r--r--nexus/src/main/kotlin/tech/libeufin/nexus/db/Database.kt11
-rw-r--r--nexus/src/main/kotlin/tech/libeufin/nexus/db/InitiatedDAO.kt11
-rw-r--r--nexus/src/main/kotlin/tech/libeufin/nexus/db/PaymentDAO.kt9
-rw-r--r--nexus/src/main/kotlin/tech/libeufin/nexus/ebics/EbicsAdministrative.kt14
-rw-r--r--nexus/src/main/kotlin/tech/libeufin/nexus/ebics/EbicsBTS.kt21
-rw-r--r--nexus/src/main/kotlin/tech/libeufin/nexus/ebics/EbicsCommon.kt13
-rw-r--r--nexus/src/main/kotlin/tech/libeufin/nexus/ebics/EbicsKeyMng.kt15
14 files changed, 69 insertions, 94 deletions
diff --git a/nexus/src/main/kotlin/tech/libeufin/nexus/DbInit.kt b/nexus/src/main/kotlin/tech/libeufin/nexus/DbInit.kt
index 0128ab85..f5077649 100644
--- a/nexus/src/main/kotlin/tech/libeufin/nexus/DbInit.kt
+++ b/nexus/src/main/kotlin/tech/libeufin/nexus/DbInit.kt
@@ -22,8 +22,10 @@ import com.github.ajalt.clikt.core.CliktCommand
import com.github.ajalt.clikt.parameters.groups.provideDelegate
import com.github.ajalt.clikt.parameters.options.flag
import com.github.ajalt.clikt.parameters.options.option
-import tech.libeufin.common.*
-import tech.libeufin.common.db.*
+import tech.libeufin.common.CommonOption
+import tech.libeufin.common.cliCmd
+import tech.libeufin.common.db.dbInit
+import tech.libeufin.common.db.pgDataSource
/**
* This subcommand tries to load the SQL files that define
diff --git a/nexus/src/main/kotlin/tech/libeufin/nexus/EbicsFetch.kt b/nexus/src/main/kotlin/tech/libeufin/nexus/EbicsFetch.kt
index 328fe240..610b2c8b 100644
--- a/nexus/src/main/kotlin/tech/libeufin/nexus/EbicsFetch.kt
+++ b/nexus/src/main/kotlin/tech/libeufin/nexus/EbicsFetch.kt
@@ -27,12 +27,12 @@ import io.ktor.client.*
import io.ktor.client.plugins.*
import kotlinx.coroutines.*
import tech.libeufin.common.*
-import tech.libeufin.nexus.ebics.*
import tech.libeufin.nexus.db.*
+import tech.libeufin.nexus.ebics.*
import java.io.IOException
import java.io.InputStream
-import java.time.Instant
import java.time.Duration
+import java.time.Instant
import java.time.LocalDate
import java.time.ZoneId
import kotlin.io.*
@@ -180,13 +180,13 @@ private suspend fun ingestDocument(
}
}
HacAction.ORDER_HAC_FINAL_NEG -> {
- logger.debug("$ack")
+ logger.debug("{}", ack)
db.initiated.logFailure(ack.orderId!!)?.let { (requestUID, msg) ->
logger.error("Payment '$requestUID' refused at ${ack.timestamp.fmtDateTime()}${if (msg != null) ": $msg" else ""}")
}
}
else -> {
- logger.debug("$ack")
+ logger.debug("{}", ack)
if (ack.orderId != null) {
db.initiated.logMessage(ack.orderId, ack.msg())
}
@@ -197,7 +197,7 @@ private suspend fun ingestDocument(
SupportedDocument.PAIN_002 -> {
val status = parseCustomerPaymentStatusReport(xml)
val msg = status.msg()
- logger.debug("$status")
+ logger.debug("{}", status)
if (status.paymentCode == ExternalPaymentGroupStatusCode.RJCT) {
db.initiated.bankFailure(status.msgId, msg)
logger.error("Transaction '${status.msgId}' was rejected : $msg")
diff --git a/nexus/src/main/kotlin/tech/libeufin/nexus/EbicsSubmit.kt b/nexus/src/main/kotlin/tech/libeufin/nexus/EbicsSubmit.kt
index 12a72d40..8a54124f 100644
--- a/nexus/src/main/kotlin/tech/libeufin/nexus/EbicsSubmit.kt
+++ b/nexus/src/main/kotlin/tech/libeufin/nexus/EbicsSubmit.kt
@@ -25,8 +25,8 @@ import com.github.ajalt.clikt.parameters.options.*
import io.ktor.client.*
import kotlinx.coroutines.*
import tech.libeufin.common.*
-import tech.libeufin.nexus.ebics.*
import tech.libeufin.nexus.db.*
+import tech.libeufin.nexus.ebics.*
import java.time.*
import java.util.*
import kotlin.time.toKotlinDuration
diff --git a/nexus/src/main/kotlin/tech/libeufin/nexus/Main.kt b/nexus/src/main/kotlin/tech/libeufin/nexus/Main.kt
index 7e7a5e5d..08bb23f1 100644
--- a/nexus/src/main/kotlin/tech/libeufin/nexus/Main.kt
+++ b/nexus/src/main/kotlin/tech/libeufin/nexus/Main.kt
@@ -27,22 +27,22 @@ package tech.libeufin.nexus
import com.github.ajalt.clikt.core.CliktCommand
import com.github.ajalt.clikt.core.subcommands
-import com.github.ajalt.clikt.parameters.arguments.*
-import com.github.ajalt.clikt.parameters.groups.*
-import com.github.ajalt.clikt.parameters.options.*
-import io.ktor.client.*
-import io.ktor.util.*
-import kotlinx.coroutines.*
+import com.github.ajalt.clikt.parameters.arguments.argument
+import com.github.ajalt.clikt.parameters.arguments.convert
+import com.github.ajalt.clikt.parameters.groups.provideDelegate
+import com.github.ajalt.clikt.parameters.options.convert
+import com.github.ajalt.clikt.parameters.options.option
+import com.github.ajalt.clikt.parameters.options.versionOption
import org.slf4j.Logger
import org.slf4j.LoggerFactory
import tech.libeufin.common.*
-import tech.libeufin.common.db.*
-import tech.libeufin.nexus.ebics.*
-import tech.libeufin.nexus.db.*
+import tech.libeufin.common.db.DatabaseConfig
+import tech.libeufin.nexus.db.Database
+import tech.libeufin.nexus.db.InitiatedPayment
import java.nio.file.Path
-import java.util.*
-import java.time.*
-import java.time.format.*
+import java.time.Instant
+import java.time.ZoneId
+import java.time.format.DateTimeFormatter
val NEXUS_CONFIG_SOURCE = ConfigSource("libeufin", "libeufin-nexus", "libeufin-nexus")
internal val logger: Logger = LoggerFactory.getLogger("libeufin-nexus")
diff --git a/nexus/src/main/kotlin/tech/libeufin/nexus/PDF.kt b/nexus/src/main/kotlin/tech/libeufin/nexus/PDF.kt
index 71937a42..3e697e6d 100644
--- a/nexus/src/main/kotlin/tech/libeufin/nexus/PDF.kt
+++ b/nexus/src/main/kotlin/tech/libeufin/nexus/PDF.kt
@@ -24,12 +24,11 @@ import com.itextpdf.kernel.pdf.PdfWriter
import com.itextpdf.layout.Document
import com.itextpdf.layout.element.AreaBreak
import com.itextpdf.layout.element.Paragraph
+import tech.libeufin.common.crypto.CryptoUtil
+import java.io.ByteArrayOutputStream
import java.security.interfaces.RSAPrivateCrtKey
import java.time.LocalDateTime
import java.time.format.DateTimeFormatter
-import java.util.*
-import java.io.ByteArrayOutputStream
-import tech.libeufin.common.crypto.*
/**
* Generate the PDF document with all the client public keys
diff --git a/nexus/src/main/kotlin/tech/libeufin/nexus/XMLUtil.kt b/nexus/src/main/kotlin/tech/libeufin/nexus/XMLUtil.kt
index 2893f367..608177cd 100644
--- a/nexus/src/main/kotlin/tech/libeufin/nexus/XMLUtil.kt
+++ b/nexus/src/main/kotlin/tech/libeufin/nexus/XMLUtil.kt
@@ -19,22 +19,14 @@
package tech.libeufin.nexus
-import tech.libeufin.nexus.ebics.*
-import io.ktor.http.*
import org.w3c.dom.Document
import org.w3c.dom.Node
import org.w3c.dom.NodeList
-import org.w3c.dom.ls.LSInput
-import org.w3c.dom.ls.LSResourceResolver
-import org.xml.sax.ErrorHandler
import org.xml.sax.InputSource
-import org.xml.sax.SAXException
-import org.xml.sax.SAXParseException
-import java.io.*
+import java.io.ByteArrayOutputStream
+import java.io.InputStream
import java.security.PrivateKey
import java.security.PublicKey
-import java.security.interfaces.RSAPrivateCrtKey
-import javax.xml.XMLConstants
import javax.xml.crypto.*
import javax.xml.crypto.dom.DOMURIReference
import javax.xml.crypto.dsig.*
@@ -42,16 +34,11 @@ import javax.xml.crypto.dsig.dom.DOMSignContext
import javax.xml.crypto.dsig.dom.DOMValidateContext
import javax.xml.crypto.dsig.spec.C14NMethodParameterSpec
import javax.xml.crypto.dsig.spec.TransformParameterSpec
-import javax.xml.namespace.NamespaceContext
import javax.xml.parsers.DocumentBuilderFactory
import javax.xml.transform.OutputKeys
-import javax.xml.transform.Source
import javax.xml.transform.TransformerFactory
import javax.xml.transform.dom.DOMSource
import javax.xml.transform.stream.StreamResult
-import javax.xml.transform.stream.StreamSource
-import javax.xml.validation.SchemaFactory
-import javax.xml.validation.Validator
import javax.xml.xpath.XPath
import javax.xml.xpath.XPathConstants
import javax.xml.xpath.XPathFactory
diff --git a/nexus/src/main/kotlin/tech/libeufin/nexus/XmlCombinators.kt b/nexus/src/main/kotlin/tech/libeufin/nexus/XmlCombinators.kt
index eb64a1f6..30714fb6 100644
--- a/nexus/src/main/kotlin/tech/libeufin/nexus/XmlCombinators.kt
+++ b/nexus/src/main/kotlin/tech/libeufin/nexus/XmlCombinators.kt
@@ -19,13 +19,14 @@
package tech.libeufin.nexus
-import org.w3c.dom.*
+import org.w3c.dom.Document
+import org.w3c.dom.Element
import java.io.InputStream
import java.io.StringWriter
import java.time.LocalDate
import java.time.LocalDateTime
import java.time.format.DateTimeFormatter
-import javax.xml.parsers.*
+import javax.xml.parsers.DocumentBuilderFactory
import javax.xml.stream.XMLOutputFactory
import javax.xml.stream.XMLStreamWriter
diff --git a/nexus/src/main/kotlin/tech/libeufin/nexus/db/Database.kt b/nexus/src/main/kotlin/tech/libeufin/nexus/db/Database.kt
index d76a0405..b6422612 100644
--- a/nexus/src/main/kotlin/tech/libeufin/nexus/db/Database.kt
+++ b/nexus/src/main/kotlin/tech/libeufin/nexus/db/Database.kt
@@ -18,15 +18,10 @@
*/
package tech.libeufin.nexus.db
-import org.postgresql.util.PSQLState
-import tech.libeufin.common.*
-import tech.libeufin.common.db.*
-import tech.libeufin.nexus.*
-import java.sql.PreparedStatement
-import java.sql.SQLException
-import java.text.SimpleDateFormat
+import tech.libeufin.common.TalerAmount
+import tech.libeufin.common.db.DatabaseConfig
+import tech.libeufin.common.db.DbPool
import java.time.Instant
-import java.util.*
/**
* Minimal set of information to initiate a new payment in
diff --git a/nexus/src/main/kotlin/tech/libeufin/nexus/db/InitiatedDAO.kt b/nexus/src/main/kotlin/tech/libeufin/nexus/db/InitiatedDAO.kt
index ac27f04b..04fd3965 100644
--- a/nexus/src/main/kotlin/tech/libeufin/nexus/db/InitiatedDAO.kt
+++ b/nexus/src/main/kotlin/tech/libeufin/nexus/db/InitiatedDAO.kt
@@ -19,11 +19,14 @@
package tech.libeufin.nexus.db
-import tech.libeufin.nexus.*
-import tech.libeufin.common.*
-import tech.libeufin.common.db.*
-import java.time.Instant
+import tech.libeufin.common.asInstant
+import tech.libeufin.common.db.all
+import tech.libeufin.common.db.executeUpdateViolation
+import tech.libeufin.common.db.getAmount
+import tech.libeufin.common.db.oneOrNull
+import tech.libeufin.common.micros
import java.sql.ResultSet
+import java.time.Instant
/** Data access logic for initiated outgoing payments */
class InitiatedDAO(private val db: Database) {
diff --git a/nexus/src/main/kotlin/tech/libeufin/nexus/db/PaymentDAO.kt b/nexus/src/main/kotlin/tech/libeufin/nexus/db/PaymentDAO.kt
index 8aa7cd2d..d316267f 100644
--- a/nexus/src/main/kotlin/tech/libeufin/nexus/db/PaymentDAO.kt
+++ b/nexus/src/main/kotlin/tech/libeufin/nexus/db/PaymentDAO.kt
@@ -19,9 +19,12 @@
package tech.libeufin.nexus.db
-import tech.libeufin.nexus.*
-import tech.libeufin.common.*
-import tech.libeufin.common.db.*
+import tech.libeufin.common.EddsaPublicKey
+import tech.libeufin.common.TalerAmount
+import tech.libeufin.common.db.one
+import tech.libeufin.common.micros
+import tech.libeufin.nexus.IncomingPayment
+import tech.libeufin.nexus.OutgoingPayment
import java.time.Instant
/** Data access logic for incoming & outgoing payments */
diff --git a/nexus/src/main/kotlin/tech/libeufin/nexus/ebics/EbicsAdministrative.kt b/nexus/src/main/kotlin/tech/libeufin/nexus/ebics/EbicsAdministrative.kt
index 464db37f..0d7b26e4 100644
--- a/nexus/src/main/kotlin/tech/libeufin/nexus/ebics/EbicsAdministrative.kt
+++ b/nexus/src/main/kotlin/tech/libeufin/nexus/ebics/EbicsAdministrative.kt
@@ -20,18 +20,10 @@
package tech.libeufin.nexus.ebics
import org.w3c.dom.Document
-import tech.libeufin.common.crypto.CryptoUtil
-import tech.libeufin.common.*
-import tech.libeufin.nexus.*
-import tech.libeufin.nexus.BankPublicKeysFile
-import tech.libeufin.nexus.ClientPrivateKeysFile
+import tech.libeufin.nexus.NexusConfig
+import tech.libeufin.nexus.XmlBuilder
+import tech.libeufin.nexus.XmlDestructor
import java.io.InputStream
-import java.time.Instant
-import java.time.ZoneId
-import java.util.*
-import javax.xml.datatype.DatatypeFactory
-import java.security.interfaces.*
-import tech.libeufin.nexus.ebics.EbicsKeyMng.Order.*
data class VersionNumber(val number: Float, val schema: String) {
override fun toString(): String = "$number:$schema"
diff --git a/nexus/src/main/kotlin/tech/libeufin/nexus/ebics/EbicsBTS.kt b/nexus/src/main/kotlin/tech/libeufin/nexus/ebics/EbicsBTS.kt
index 1c4294e3..754de501 100644
--- a/nexus/src/main/kotlin/tech/libeufin/nexus/ebics/EbicsBTS.kt
+++ b/nexus/src/main/kotlin/tech/libeufin/nexus/ebics/EbicsBTS.kt
@@ -18,19 +18,16 @@
*/
package tech.libeufin.nexus.ebics
-import io.ktor.client.*
+import org.w3c.dom.Document
+import tech.libeufin.common.crypto.CryptoUtil
+import tech.libeufin.common.decodeBase64
+import tech.libeufin.common.encodeBase64
+import tech.libeufin.common.encodeHex
+import tech.libeufin.common.encodeUpHex
import tech.libeufin.nexus.*
-import tech.libeufin.common.*
-import tech.libeufin.common.crypto.*
-import java.math.BigInteger
-import java.time.*
-import java.time.format.*
-import java.util.*
-import java.io.File
-import org.w3c.dom.*
-import javax.xml.datatype.XMLGregorianCalendar
-import javax.xml.datatype.DatatypeFactory
-import java.security.interfaces.*
+import java.time.Instant
+import java.time.ZoneId
+import java.time.format.DateTimeFormatter
fun Instant.xmlDate(): String =
diff --git a/nexus/src/main/kotlin/tech/libeufin/nexus/ebics/EbicsCommon.kt b/nexus/src/main/kotlin/tech/libeufin/nexus/ebics/EbicsCommon.kt
index 7bed5ac0..889895ce 100644
--- a/nexus/src/main/kotlin/tech/libeufin/nexus/ebics/EbicsCommon.kt
+++ b/nexus/src/main/kotlin/tech/libeufin/nexus/ebics/EbicsCommon.kt
@@ -38,21 +38,18 @@ import io.ktor.client.request.*
import io.ktor.client.statement.*
import io.ktor.http.*
import io.ktor.utils.io.jvm.javaio.*
+import kotlinx.coroutines.*
+import org.w3c.dom.Document
+import org.xml.sax.SAXException
import tech.libeufin.common.*
import tech.libeufin.common.crypto.*
import tech.libeufin.nexus.*
-import java.io.ByteArrayOutputStream
import java.io.InputStream
import java.io.SequenceInputStream
+import java.security.SecureRandom
import java.security.interfaces.RSAPrivateCrtKey
-import java.time.LocalDateTime
-import java.time.format.DateTimeFormatter
-import java.util.*
import java.time.Instant
-import kotlinx.coroutines.*
-import java.security.SecureRandom
-import org.w3c.dom.Document
-import org.xml.sax.SAXException
+import java.util.*
/**
* Which documents can be downloaded via EBICS.
diff --git a/nexus/src/main/kotlin/tech/libeufin/nexus/ebics/EbicsKeyMng.kt b/nexus/src/main/kotlin/tech/libeufin/nexus/ebics/EbicsKeyMng.kt
index 37e26e1c..fd5a61f4 100644
--- a/nexus/src/main/kotlin/tech/libeufin/nexus/ebics/EbicsKeyMng.kt
+++ b/nexus/src/main/kotlin/tech/libeufin/nexus/ebics/EbicsKeyMng.kt
@@ -21,17 +21,16 @@ package tech.libeufin.nexus.ebics
import org.w3c.dom.Document
import tech.libeufin.common.crypto.CryptoUtil
-import tech.libeufin.common.*
+import tech.libeufin.common.decodeBase64
+import tech.libeufin.common.deflate
+import tech.libeufin.common.encodeBase64
+import tech.libeufin.common.encodeUpHex
import tech.libeufin.nexus.*
-import tech.libeufin.nexus.BankPublicKeysFile
-import tech.libeufin.nexus.ClientPrivateKeysFile
+import tech.libeufin.nexus.ebics.EbicsKeyMng.Order.*
import java.io.InputStream
+import java.security.interfaces.RSAPrivateCrtKey
+import java.security.interfaces.RSAPublicKey
import java.time.Instant
-import java.time.ZoneId
-import java.util.*
-import javax.xml.datatype.DatatypeFactory
-import java.security.interfaces.*
-import tech.libeufin.nexus.ebics.EbicsKeyMng.Order.*
/** EBICS protocol for key management */
class EbicsKeyMng(