Rouge event + flow block
This commit is contained in:
parent
089406962b
commit
807b39f24d
@ -54,7 +54,7 @@ class MediaCreateConvertTaskListener: EventListener() {
|
|||||||
).derivedOf(event)
|
).derivedOf(event)
|
||||||
TaskStore.persist(convertTask)
|
TaskStore.persist(convertTask)
|
||||||
|
|
||||||
return ConvertTaskCreatedEvent(convertTask.taskId)
|
return ConvertTaskCreatedEvent(convertTask.taskId).derivedOf(event)
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -5,12 +5,12 @@ import no.iktdev.eventi.events.EventListener
|
|||||||
import no.iktdev.eventi.models.Event
|
import no.iktdev.eventi.models.Event
|
||||||
import no.iktdev.mediaprocessing.coordinator.CoordinatorEnv
|
import no.iktdev.mediaprocessing.coordinator.CoordinatorEnv
|
||||||
import no.iktdev.mediaprocessing.shared.common.event_task_contract.events.CollectedEvent
|
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.MigrateContentToStoreTaskCreatedEvent
|
import no.iktdev.mediaprocessing.shared.common.event_task_contract.events.MigrateContentToStoreTaskCreatedEvent
|
||||||
import no.iktdev.mediaprocessing.shared.common.event_task_contract.tasks.MigrateToContentStoreTask
|
import no.iktdev.mediaprocessing.shared.common.event_task_contract.tasks.MigrateToContentStoreTask
|
||||||
import no.iktdev.mediaprocessing.shared.common.projection.CollectProjection
|
import no.iktdev.mediaprocessing.shared.common.projection.CollectProjection
|
||||||
import no.iktdev.mediaprocessing.shared.common.projection.MigrateContentProject
|
import no.iktdev.mediaprocessing.shared.common.projection.MigrateContentProject
|
||||||
import no.iktdev.mediaprocessing.shared.database.stores.TaskStore
|
import no.iktdev.mediaprocessing.shared.database.stores.TaskStore
|
||||||
|
|
||||||
import org.springframework.stereotype.Component
|
import org.springframework.stereotype.Component
|
||||||
|
|
||||||
@Component
|
@Component
|
||||||
@ -23,7 +23,17 @@ class MigrateCreateStoreTaskListener(
|
|||||||
event: Event,
|
event: Event,
|
||||||
history: List<Event>
|
history: List<Event>
|
||||||
): Event? {
|
): Event? {
|
||||||
val useEvent = event as? CollectedEvent ?: return null
|
|
||||||
|
if (event !is CollectedEvent && event !is ManualAllowCompletionEvent)
|
||||||
|
return null
|
||||||
|
|
||||||
|
val useEvent = if (event is ManualAllowCompletionEvent) {
|
||||||
|
history.lastOrNull { it is CollectedEvent } as? CollectedEvent
|
||||||
|
?: return null
|
||||||
|
} else {
|
||||||
|
event as CollectedEvent
|
||||||
|
}
|
||||||
|
|
||||||
val useHistory = history.filter { useEvent.eventIds.contains(it.eventId) }
|
val useHistory = history.filter { useEvent.eventIds.contains(it.eventId) }
|
||||||
|
|
||||||
val collectProjection = CollectProjection(useHistory)
|
val collectProjection = CollectProjection(useHistory)
|
||||||
@ -55,6 +65,13 @@ class MigrateCreateStoreTaskListener(
|
|||||||
)
|
)
|
||||||
).derivedOf(event)
|
).derivedOf(event)
|
||||||
|
|
||||||
|
|
||||||
|
if (!collectProjection.canStoreAutomatically()) {
|
||||||
|
log.info { "Not storing content and metadata automatically for collection: $collection @ ${useEvent.referenceId}" }
|
||||||
|
log.info { "A manual allow completion event is required to proceed." }
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
|
||||||
TaskStore.persist(storeTask)
|
TaskStore.persist(storeTask)
|
||||||
|
|
||||||
return MigrateContentToStoreTaskCreatedEvent(storeTask.taskId)
|
return MigrateContentToStoreTaskCreatedEvent(storeTask.taskId)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user