diff --git a/apps/coordinator/src/main/kotlin/no/iktdev/mediaprocessing/coordinator/listeners/events/CompletedListener.kt b/apps/coordinator/src/main/kotlin/no/iktdev/mediaprocessing/coordinator/listeners/events/CompletedListener.kt index c0afb4d5..8d41cad6 100644 --- a/apps/coordinator/src/main/kotlin/no/iktdev/mediaprocessing/coordinator/listeners/events/CompletedListener.kt +++ b/apps/coordinator/src/main/kotlin/no/iktdev/mediaprocessing/coordinator/listeners/events/CompletedListener.kt @@ -1,19 +1,31 @@ package no.iktdev.mediaprocessing.coordinator.listeners.events +import mu.KotlinLogging import no.iktdev.eventi.events.EventListener import no.iktdev.eventi.models.Event +import no.iktdev.eventi.models.store.TaskStatus import no.iktdev.mediaprocessing.shared.common.event_task_contract.events.CompletedEvent +import no.iktdev.mediaprocessing.shared.common.event_task_contract.events.MigrateContentToStoreTaskResultEvent import no.iktdev.mediaprocessing.shared.common.event_task_contract.events.StoreContentAndMetadataTaskResultEvent +import no.iktdev.mediaprocessing.shared.common.getName import org.springframework.stereotype.Component @Component class CompletedListener: EventListener() { + val log = KotlinLogging.logger {} + + override fun onEvent( event: Event, history: List ): Event? { if (event !is StoreContentAndMetadataTaskResultEvent) return null + val useEvent = event as StoreContentAndMetadataTaskResultEvent + if (useEvent.status != TaskStatus.Completed) { + log.info { "${useEvent.referenceId} - ${MigrateContentToStoreTaskResultEvent::class.getName()} is failed, thus no task will be created" } + return null + } return CompletedEvent().derivedOf(event) } } \ No newline at end of file diff --git a/apps/coordinator/src/main/kotlin/no/iktdev/mediaprocessing/coordinator/listeners/events/StoreContentAndMetadataListener.kt b/apps/coordinator/src/main/kotlin/no/iktdev/mediaprocessing/coordinator/listeners/events/StoreContentAndMetadataListener.kt index 7f0a8364..f0056681 100644 --- a/apps/coordinator/src/main/kotlin/no/iktdev/mediaprocessing/coordinator/listeners/events/StoreContentAndMetadataListener.kt +++ b/apps/coordinator/src/main/kotlin/no/iktdev/mediaprocessing/coordinator/listeners/events/StoreContentAndMetadataListener.kt @@ -3,11 +3,13 @@ package no.iktdev.mediaprocessing.coordinator.listeners.events import mu.KotlinLogging import no.iktdev.eventi.events.EventListener import no.iktdev.eventi.models.Event +import no.iktdev.eventi.models.store.TaskStatus import no.iktdev.mediaprocessing.shared.common.event_task_contract.events.CollectedEvent import no.iktdev.mediaprocessing.shared.common.event_task_contract.events.ManualAllowCompletionEvent import no.iktdev.mediaprocessing.shared.common.event_task_contract.events.MigrateContentToStoreTaskResultEvent import no.iktdev.mediaprocessing.shared.common.event_task_contract.events.StoreContentAndMetadataTaskCreatedEvent import no.iktdev.mediaprocessing.shared.common.event_task_contract.tasks.StoreContentAndMetadataTask +import no.iktdev.mediaprocessing.shared.common.getName import no.iktdev.mediaprocessing.shared.common.model.ContentExport import no.iktdev.mediaprocessing.shared.common.projection.CollectProjection import no.iktdev.mediaprocessing.shared.common.projection.StoreProjection @@ -49,6 +51,10 @@ class StoreContentAndMetadataListener: EventListener() { log.error { "Metadata is null @ ${useEvent.referenceId}"} return null } + if (useEvent.status != TaskStatus.Completed) { + log.info { "${useEvent.referenceId} - ${MigrateContentToStoreTaskResultEvent::class.getName()} is failed, thus no task will be created" } + return null + } if (!CollectProjection(history).isStorePermitted()) { log.info { "\uD83D\uDED1 Not storing content and metadata automatically for collection: $collection @ ${useEvent.referenceId}" }