From ca73da40b008efd441b305c76d640e16262ce6b9 Mon Sep 17 00:00:00 2001 From: Paul-Christian Volkmer Date: Mon, 9 Nov 2026 10:55:16 +0100 Subject: chore: code cleanup (#340) --- .../dnpm/etl/processor/config/AppConfiguration.kt | 22 +++++++++++----------- .../dnpm/etl/processor/monitoring/ReportService.kt | 2 +- .../dnpm/etl/processor/output/RestMtbFileSender.kt | 8 ++++---- .../pseudonym/AnonymizingHmacGenerator.kt | 2 -- .../dev/dnpm/etl/processor/pseudonym/extensions.kt | 2 +- .../dnpm/etl/processor/security/UserRoleService.kt | 2 +- .../etl/processor/services/ConsentProcessor.kt | 9 +++------ .../dnpm/etl/processor/services/RequestService.kt | 4 ++-- .../dnpm/etl/processor/web/StatisticsController.kt | 1 - 9 files changed, 23 insertions(+), 29 deletions(-) (limited to 'src/main/kotlin/dev/dnpm/etl') diff --git a/src/main/kotlin/dev/dnpm/etl/processor/config/AppConfiguration.kt b/src/main/kotlin/dev/dnpm/etl/processor/config/AppConfiguration.kt index c15445c..5912085 100644 --- a/src/main/kotlin/dev/dnpm/etl/processor/config/AppConfiguration.kt +++ b/src/main/kotlin/dev/dnpm/etl/processor/config/AppConfiguration.kt @@ -145,6 +145,17 @@ class AppConfiguration { return GpasPseudonymGenerator(configProperties, retryTemplate, restTemplate, appFhirConfig) } + @ConditionalOnProperty(value = ["app.pseudonymize.generator"], havingValue = "VFPS") + @Bean + fun vfpsPseudonymGenerator( + configProperties: VfpsConfigProperties, + retryTemplate: RetryTemplate, + restTemplate: RestTemplate, + ): Generator { + logger.info("Selected 'VfpsPseudonym Generator'") + return VfpsPseudonymGenerator(configProperties, retryTemplate, restTemplate) + } + @ConditionalOnProperty( value = ["app.pseudonymize.generator"], havingValue = "BUILDIN", @@ -264,17 +275,6 @@ class AppConfiguration { ) } - @ConditionalOnProperty(value = ["app.pseudonymize.generator"], havingValue = "VFPS") - @Bean - fun vfpsPseudonymGenerator( - configProperties: VfpsConfigProperties, - retryTemplate: RetryTemplate, - restTemplate: RestTemplate, - ): Generator { - logger.info("Selected 'VfpsPseudonym Generator'") - return VfpsPseudonymGenerator(configProperties, retryTemplate, restTemplate) - } - @Bean fun jdbcConfiguration(): AbstractJdbcConfiguration { return AppJdbcConfiguration() diff --git a/src/main/kotlin/dev/dnpm/etl/processor/monitoring/ReportService.kt b/src/main/kotlin/dev/dnpm/etl/processor/monitoring/ReportService.kt index 96cdb5c..7173fb6 100644 --- a/src/main/kotlin/dev/dnpm/etl/processor/monitoring/ReportService.kt +++ b/src/main/kotlin/dev/dnpm/etl/processor/monitoring/ReportService.kt @@ -61,7 +61,7 @@ class ReportService(private val jsonMapper: JsonMapper) { val details: Optional = Optional.empty(), val path: Optional = Optional.empty(), ) { - fun getMessageText() = message.orElse(details.orElse("No details available")) + fun getMessageText() = message.orElse(details.orElse("No details available")) ?: "No information" } @EnumNaming(EnumNamingStrategies.LowerCaseStrategy::class) diff --git a/src/main/kotlin/dev/dnpm/etl/processor/output/RestMtbFileSender.kt b/src/main/kotlin/dev/dnpm/etl/processor/output/RestMtbFileSender.kt index c222c6d..07d632d 100644 --- a/src/main/kotlin/dev/dnpm/etl/processor/output/RestMtbFileSender.kt +++ b/src/main/kotlin/dev/dnpm/etl/processor/output/RestMtbFileSender.kt @@ -71,7 +71,7 @@ abstract class RestMtbFileSender( } catch (_: IllegalArgumentException) { logger.error("Not a valid URI to export to: '{}'", restTargetProperties.uri!!) } catch (e: RestClientResponseException) { - logger.info(restTargetProperties.uri!!.toString()) + logger.info(restTargetProperties.uri!!) logger.error("Request data not accepted by remote system", e) return MtbFileSender.Response( RequestStatus.ERROR, @@ -91,14 +91,14 @@ abstract class RestMtbFileSender( return@execute MtbFileSender.Response(RequestStatus.SUCCESS) } } catch (_: IllegalArgumentException) { - logger.error("Not a valid URI to export to: '{}'", restTargetProperties.uri!!) + logger.error("Not a valid URI for delete: '{}'", restTargetProperties.uri!!) } catch (e: RestClientException) { - logger.info(restTargetProperties.uri!!.toString()) + logger.info(restTargetProperties.uri!!) logger.error("Cannot send data to remote system", e) } catch (e: RetryException) { val cause = e.cause if (cause is RestClientException) { - logger.info(restTargetProperties.uri!!.toString()) + logger.info(restTargetProperties.uri!!) logger.error("Cannot send data to remote system", e) } } diff --git a/src/main/kotlin/dev/dnpm/etl/processor/pseudonym/AnonymizingHmacGenerator.kt b/src/main/kotlin/dev/dnpm/etl/processor/pseudonym/AnonymizingHmacGenerator.kt index 646f6d3..f0fd54d 100644 --- a/src/main/kotlin/dev/dnpm/etl/processor/pseudonym/AnonymizingHmacGenerator.kt +++ b/src/main/kotlin/dev/dnpm/etl/processor/pseudonym/AnonymizingHmacGenerator.kt @@ -20,10 +20,8 @@ package dev.dnpm.etl.processor.pseudonym -import dev.dnpm.etl.processor.config.AppConfigProperties import dev.dnpm.etl.processor.config.PseudonymizeConfigProperties import org.apache.commons.codec.binary.Base32 -import org.apache.commons.codec.digest.DigestUtils import org.apache.commons.codec.digest.HmacAlgorithms import org.apache.commons.codec.digest.HmacUtils import java.security.SecureRandom diff --git a/src/main/kotlin/dev/dnpm/etl/processor/pseudonym/extensions.kt b/src/main/kotlin/dev/dnpm/etl/processor/pseudonym/extensions.kt index cc13a04..acbe51b 100644 --- a/src/main/kotlin/dev/dnpm/etl/processor/pseudonym/extensions.kt +++ b/src/main/kotlin/dev/dnpm/etl/processor/pseudonym/extensions.kt @@ -132,7 +132,7 @@ infix fun PatientRecord.anonymizeContentWith(pseudonymizeService: PseudonymizeSe episodeOfCare.diagnoses?.filterNotNull()?.forEach { it.id = it.id?.let(::anonymize) } } - this.carePlans?.onEach { carePlan -> + this.carePlans?.forEach { carePlan -> carePlan?.apply { this.id = id?.let { anonymize(it) } diff --git a/src/main/kotlin/dev/dnpm/etl/processor/security/UserRoleService.kt b/src/main/kotlin/dev/dnpm/etl/processor/security/UserRoleService.kt index 0c1fe11..a115cff 100644 --- a/src/main/kotlin/dev/dnpm/etl/processor/security/UserRoleService.kt +++ b/src/main/kotlin/dev/dnpm/etl/processor/security/UserRoleService.kt @@ -51,6 +51,6 @@ class UserRoleService( .filterIsInstance() .filter { it.preferredUsername == username } .flatMap { sessionRegistry.getAllSessions(it, true) } - .onEach { it.expireNow() } + .forEach { it.expireNow() } } } diff --git a/src/main/kotlin/dev/dnpm/etl/processor/services/ConsentProcessor.kt b/src/main/kotlin/dev/dnpm/etl/processor/services/ConsentProcessor.kt index f7df389..d4b83ef 100644 --- a/src/main/kotlin/dev/dnpm/etl/processor/services/ConsentProcessor.kt +++ b/src/main/kotlin/dev/dnpm/etl/processor/services/ConsentProcessor.kt @@ -288,22 +288,19 @@ class ConsentProcessor( isValidCoding && isRequestDateInRange(requestDate, (entry.resource as Consent).provision.period) } - .map { entry: BundleEntryComponent -> + .flatMap { entry: BundleEntryComponent -> val consent = (entry.getResource() as Consent) consent.provision.provision .filter { subProvision -> isRequestDateInRange(requestDate, subProvision.period) // search coding entries of current provision for code and system - subProvision.code - .map { c -> c.coding } - .flatten() - .any { code -> + subProvision.code.flatMap { c -> c.coding } + .any { code -> targetCode.equals(code.code) && targetSystem.equals(code.system) } } .map { subProvision -> subProvision } } - .flatten() if (entriesOfInterest.isNotEmpty()) { return entriesOfInterest.first().type diff --git a/src/main/kotlin/dev/dnpm/etl/processor/services/RequestService.kt b/src/main/kotlin/dev/dnpm/etl/processor/services/RequestService.kt index b967f2d..219fef0 100644 --- a/src/main/kotlin/dev/dnpm/etl/processor/services/RequestService.kt +++ b/src/main/kotlin/dev/dnpm/etl/processor/services/RequestService.kt @@ -56,12 +56,12 @@ class RequestService(private val requestRepository: RequestRepository) { requestRepository.findAllByPatientPseudonymOrderByProcessedAtDesc(patientPseudonym) fun lastMtbFileRequestForPatientPseudonym(patientPseudonym: PatientPseudonym) = - Companion.lastMtbFileRequestForPatientPseudonym( + lastMtbFileRequestForPatientPseudonym( allRequestsByPatientPseudonym(patientPseudonym) ) fun isLastRequestWithKnownStatusDeletion(patientPseudonym: PatientPseudonym) = - Companion.isLastRequestWithKnownStatusDeletion( + isLastRequestWithKnownStatusDeletion( allRequestsByPatientPseudonym(patientPseudonym) ) diff --git a/src/main/kotlin/dev/dnpm/etl/processor/web/StatisticsController.kt b/src/main/kotlin/dev/dnpm/etl/processor/web/StatisticsController.kt index 4cb99f1..e2cde09 100644 --- a/src/main/kotlin/dev/dnpm/etl/processor/web/StatisticsController.kt +++ b/src/main/kotlin/dev/dnpm/etl/processor/web/StatisticsController.kt @@ -24,7 +24,6 @@ import dev.dnpm.etl.processor.monitoring.RequestStatus import dev.dnpm.etl.processor.monitoring.RequestType import dev.dnpm.etl.processor.monitoring.SubmissionType import dev.dnpm.etl.processor.services.RequestService -import net.sf.saxon.tree.tiny.Statistics import org.springframework.stereotype.Controller import org.springframework.ui.Model import org.springframework.web.bind.annotation.GetMapping -- cgit v1.2.3