From c4e0ba00013200db64dcd0800885589d8e520fc4 Mon Sep 17 00:00:00 2001 From: "d.svitak" Date: Wed, 3 Dec 2025 15:05:56 +0100 Subject: [PATCH] Deployment ID and timestamp are unique for each run --- .../quadient/migration/service/deploy/DeployClient.kt | 9 +++++---- .../migration/service/deploy/DesignerDeployClient.kt | 4 +++- .../migration/service/deploy/InteractiveDeployClient.kt | 4 +++- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/migration-library/src/main/kotlin/com/quadient/migration/service/deploy/DeployClient.kt b/migration-library/src/main/kotlin/com/quadient/migration/service/deploy/DeployClient.kt index 78486ac..09e5bbb 100644 --- a/migration-library/src/main/kotlin/com/quadient/migration/service/deploy/DeployClient.kt +++ b/migration-library/src/main/kotlin/com/quadient/migration/service/deploy/DeployClient.kt @@ -56,8 +56,6 @@ sealed class DeployClient( protected val output: InspireOutput, ) { protected val logger = LoggerFactory.getLogger(this::class.java)!! - protected val deploymentId = Uuid.random() - protected val deploymentTimestamp = Clock.System.now() val postProcessors: MutableList<(DeploymentResult) -> Unit> = mutableListOf() init { @@ -135,6 +133,9 @@ sealed class DeployClient( } fun deployStyles() { + val deploymentId = Uuid.random() + val deploymentTimestamp = Clock.System.now() + val textStyles = textStyleRepository.listAllModel().filter { it.definition is TextStyleDefinitionModel } val paragraphStyles = paragraphStyleRepository.listAllModel().filter { it.definition is ParagraphStyleDefinitionModel } @@ -256,7 +257,7 @@ sealed class DeployClient( return deployOrder } - protected fun deployImages(documentObjects: List): DeploymentResult { + protected fun deployImages(documentObjects: List, deploymentId: Uuid, deploymentTimestamp: Instant): DeploymentResult { val deploymentResult = DeploymentResult(deploymentId) val uniqueImageRefs = documentObjects.flatMap { @@ -408,7 +409,7 @@ sealed class DeployClient( fun progressReportInternal(objects: List, deployId: Uuid? = null): ProgressReport { val lastDeployment = deployId?.let { LastDeployment(it, Clock.System.now()) } ?: getLastDeployEvent() - val report = ProgressReport(deploymentId, mutableMapOf()) + val report = ProgressReport(deployId ?: Uuid.random(), mutableMapOf()) val queue: MutableList = mutableListOf() val alreadyVisitedRefs = mutableSetOf>>() diff --git a/migration-library/src/main/kotlin/com/quadient/migration/service/deploy/DesignerDeployClient.kt b/migration-library/src/main/kotlin/com/quadient/migration/service/deploy/DesignerDeployClient.kt index c794922..bf40ceb 100644 --- a/migration-library/src/main/kotlin/com/quadient/migration/service/deploy/DesignerDeployClient.kt +++ b/migration-library/src/main/kotlin/com/quadient/migration/service/deploy/DesignerDeployClient.kt @@ -47,10 +47,12 @@ class DesignerDeployClient( } override fun deployDocumentObjectsInternal(documentObjects: List): DeploymentResult { + val deploymentId = kotlin.uuid.Uuid.random() + val deploymentTimestamp = kotlinx.datetime.Clock.System.now() val deploymentResult = DeploymentResult(deploymentId) val orderedDocumentObject = deployOrder(documentObjects) - deploymentResult += deployImages(orderedDocumentObject) + deploymentResult += deployImages(orderedDocumentObject, deploymentId, deploymentTimestamp) for (it in orderedDocumentObject) { val targetPath = documentObjectBuilder.getDocumentObjectPath(it) diff --git a/migration-library/src/main/kotlin/com/quadient/migration/service/deploy/InteractiveDeployClient.kt b/migration-library/src/main/kotlin/com/quadient/migration/service/deploy/InteractiveDeployClient.kt index 95ae8f2..8746e4f 100644 --- a/migration-library/src/main/kotlin/com/quadient/migration/service/deploy/InteractiveDeployClient.kt +++ b/migration-library/src/main/kotlin/com/quadient/migration/service/deploy/InteractiveDeployClient.kt @@ -98,11 +98,13 @@ class InteractiveDeployClient( } override fun deployDocumentObjectsInternal(documentObjects: List): DeploymentResult { + val deploymentId = kotlin.uuid.Uuid.random() + val deploymentTimestamp = kotlinx.datetime.Clock.System.now() val deploymentResult = DeploymentResult(deploymentId) val orderedDocumentObject = deployOrder(documentObjects) - deploymentResult += deployImages(orderedDocumentObject) + deploymentResult += deployImages(orderedDocumentObject, deploymentId, deploymentTimestamp) for (it in orderedDocumentObject) { val targetPath = documentObjectBuilder.getDocumentObjectPath(it)