Compare commits

...

1 Commits
v5 ... v3

Author SHA1 Message Date
77b086cd82 Updated database version 2024-12-23 23:03:13 +01:00
5 changed files with 99 additions and 55 deletions

133
.idea/workspace.xml generated
View File

@ -5,36 +5,12 @@
</component> </component>
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="79fc3e25-8083-4c15-b17f-a1e0d61c77a6" name="Changes" comment=""> <list default="true" id="79fc3e25-8083-4c15-b17f-a1e0d61c77a6" name="Changes" comment="">
<change afterPath="$PROJECT_DIR$/apps/ui/src/main/kotlin/no/iktdev/mediaprocessing/ui/dto/EventChain.kt" afterDir="false" />
<change afterPath="$PROJECT_DIR$/apps/ui/src/main/kotlin/no/iktdev/mediaprocessing/ui/service/AvailableEventsService.kt" afterDir="false" />
<change afterPath="$PROJECT_DIR$/apps/ui/src/main/kotlin/no/iktdev/mediaprocessing/ui/service/CompletedEventsService.kt" afterDir="false" />
<change afterPath="$PROJECT_DIR$/apps/ui/src/main/kotlin/no/iktdev/mediaprocessing/ui/service/EventExecutionOrderService.kt" afterDir="false" />
<change afterPath="$PROJECT_DIR$/apps/ui/src/main/kotlin/no/iktdev/mediaprocessing/ui/socket/ChainedEventsTopic.kt" afterDir="false" />
<change afterPath="$PROJECT_DIR$/shared/common/src/main/kotlin/no/iktdev/mediaprocessing/shared/common/database/EventsDatabase.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/gradle.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/gradle.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/misc.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/misc.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/apps/coordinator/src/main/kotlin/no/iktdev/mediaprocessing/coordinator/CoordinatorApplication.kt" beforeDir="false" afterPath="$PROJECT_DIR$/apps/coordinator/src/main/kotlin/no/iktdev/mediaprocessing/coordinator/CoordinatorApplication.kt" afterDir="false" /> <change beforePath="$PROJECT_DIR$/apps/coordinator/build.gradle.kts" beforeDir="false" afterPath="$PROJECT_DIR$/apps/coordinator/build.gradle.kts" afterDir="false" />
<change beforePath="$PROJECT_DIR$/apps/coordinator/src/main/kotlin/no/iktdev/mediaprocessing/coordinator/EventsManager.kt" beforeDir="false" /> <change beforePath="$PROJECT_DIR$/apps/coordinator/src/main/kotlin/no/iktdev/mediaprocessing/coordinator/tasksV2/listeners/CompletedTaskListener.kt" beforeDir="false" afterPath="$PROJECT_DIR$/apps/coordinator/src/main/kotlin/no/iktdev/mediaprocessing/coordinator/tasksV2/listeners/CompletedTaskListener.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/apps/ui/build.gradle.kts" beforeDir="false" afterPath="$PROJECT_DIR$/apps/ui/build.gradle.kts" afterDir="false" /> <change beforePath="$PROJECT_DIR$/apps/coordinator/src/main/kotlin/no/iktdev/mediaprocessing/coordinator/tasksV2/listeners/MediaOutInformationTaskListener.kt" beforeDir="false" afterPath="$PROJECT_DIR$/apps/coordinator/src/main/kotlin/no/iktdev/mediaprocessing/coordinator/tasksV2/listeners/MediaOutInformationTaskListener.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/apps/ui/src/main/kotlin/no/iktdev/mediaprocessing/ui/Configuration.kt" beforeDir="false" afterPath="$PROJECT_DIR$/apps/ui/src/main/kotlin/no/iktdev/mediaprocessing/ui/Configuration.kt" afterDir="false" /> <change beforePath="$PROJECT_DIR$/apps/ui/web/src/app/page/EventsChainPage.tsx" beforeDir="false" afterPath="$PROJECT_DIR$/apps/ui/web/src/app/page/EventsChainPage.tsx" afterDir="false" />
<change beforePath="$PROJECT_DIR$/apps/ui/src/main/kotlin/no/iktdev/mediaprocessing/ui/UIApplication.kt" beforeDir="false" afterPath="$PROJECT_DIR$/apps/ui/src/main/kotlin/no/iktdev/mediaprocessing/ui/UIApplication.kt" afterDir="false" /> <change beforePath="$PROJECT_DIR$/shared/eventi/src/test/kotlin/no/iktdev/eventi/mock/MockEventManager.kt" beforeDir="false" afterPath="$PROJECT_DIR$/shared/eventi/src/test/kotlin/no/iktdev/eventi/mock/MockEventManager.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/apps/ui/src/main/kotlin/no/iktdev/mediaprocessing/ui/UIEnv.kt" beforeDir="false" afterPath="$PROJECT_DIR$/apps/ui/src/main/kotlin/no/iktdev/mediaprocessing/ui/UIEnv.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/apps/ui/src/main/kotlin/no/iktdev/mediaprocessing/ui/dto/EventSummary.kt" beforeDir="false" afterPath="$PROJECT_DIR$/apps/ui/src/main/kotlin/no/iktdev/mediaprocessing/ui/dto/EventSummary.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/apps/ui/src/main/kotlin/no/iktdev/mediaprocessing/ui/dto/ExplorerAttr.kt" beforeDir="false" afterPath="$PROJECT_DIR$/apps/ui/src/main/kotlin/no/iktdev/mediaprocessing/ui/dto/explore/ExplorerAttr.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/apps/ui/src/main/kotlin/no/iktdev/mediaprocessing/ui/dto/ExplorerCursor.kt" beforeDir="false" afterPath="$PROJECT_DIR$/apps/ui/src/main/kotlin/no/iktdev/mediaprocessing/ui/dto/explore/ExplorerCursor.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/apps/ui/src/main/kotlin/no/iktdev/mediaprocessing/ui/explorer/ExplorerCore.kt" beforeDir="false" afterPath="$PROJECT_DIR$/apps/ui/src/main/kotlin/no/iktdev/mediaprocessing/ui/explorer/ExplorerCore.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/apps/ui/src/main/kotlin/no/iktdev/mediaprocessing/ui/socket/EventsTableTopic.kt" beforeDir="false" afterPath="$PROJECT_DIR$/apps/ui/src/main/kotlin/no/iktdev/mediaprocessing/ui/socket/EventsTableTopic.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/apps/ui/src/main/kotlin/no/iktdev/mediaprocessing/ui/socket/ExplorerTopic.kt" beforeDir="false" afterPath="$PROJECT_DIR$/apps/ui/src/main/kotlin/no/iktdev/mediaprocessing/ui/socket/ExplorerTopic.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/apps/ui/src/main/kotlin/no/iktdev/mediaprocessing/ui/socket/TopicSupport.kt" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/apps/ui/web/package-lock.json" beforeDir="false" afterPath="$PROJECT_DIR$/apps/ui/web/package-lock.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/apps/ui/web/package.json" beforeDir="false" afterPath="$PROJECT_DIR$/apps/ui/web/package.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/apps/ui/web/src/App.tsx" beforeDir="false" afterPath="$PROJECT_DIR$/apps/ui/web/src/App.tsx" afterDir="false" />
<change beforePath="$PROJECT_DIR$/apps/ui/web/src/app/page/ExplorePage.tsx" beforeDir="false" afterPath="$PROJECT_DIR$/apps/ui/web/src/app/page/ExplorePage.tsx" afterDir="false" />
<change beforePath="$PROJECT_DIR$/apps/ui/web/src/app/page/LaunchPage.tsx" beforeDir="false" afterPath="$PROJECT_DIR$/apps/ui/web/src/app/page/LaunchPage.tsx" afterDir="false" />
<change beforePath="$PROJECT_DIR$/shared/common/src/main/kotlin/no/iktdev/mediaprocessing/shared/common/contract/EventToClazzTable.kt" beforeDir="false" afterPath="$PROJECT_DIR$/shared/common/src/main/kotlin/no/iktdev/mediaprocessing/shared/common/contract/EventToClazzTable.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/shared/common/src/main/kotlin/no/iktdev/mediaprocessing/shared/common/database/cal/EventsManager.kt" beforeDir="false" afterPath="$PROJECT_DIR$/shared/common/src/main/kotlin/no/iktdev/mediaprocessing/shared/common/database/cal/EventsManager.kt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/shared/eventi/src/main/kotlin/no/iktdev/eventi/implementations/EventCoordinator.kt" beforeDir="false" afterPath="$PROJECT_DIR$/shared/eventi/src/main/kotlin/no/iktdev/eventi/implementations/EventCoordinator.kt" afterDir="false" />
</list> </list>
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" /> <option name="HIGHLIGHT_CONFLICTS" value="true" />
@ -154,8 +130,8 @@
<recent name="no.iktdev.mediaprocessing.shared.common" /> <recent name="no.iktdev.mediaprocessing.shared.common" />
</key> </key>
</component> </component>
<component name="RunManager" selected="Kotlin.UIApplicationKt"> <component name="RunManager" selected="Gradle.MediaProcessing2 [build]">
<configuration name="AudioArgumentsTest" type="GradleRunConfiguration" factoryName="Gradle" temporary="true"> <configuration name="FileNameParserTest" type="GradleRunConfiguration" factoryName="Gradle" temporary="true">
<ExternalSystemSettings> <ExternalSystemSettings>
<option name="executionName" /> <option name="executionName" />
<option name="externalProjectPath" value="$PROJECT_DIR$" /> <option name="externalProjectPath" value="$PROJECT_DIR$" />
@ -166,9 +142,9 @@
</option> </option>
<option name="taskNames"> <option name="taskNames">
<list> <list>
<option value=":apps:coordinator:test" /> <option value=":shared:common:test" />
<option value="--tests" /> <option value="--tests" />
<option value="&quot;no.iktdev.mediaprocessing.coordinator.tasksV2.mapping.streams.AudioArgumentsTest&quot;" /> <option value="&quot;no.iktdev.mediaprocessing.shared.common.parsing.FileNameParserTest&quot;" />
</list> </list>
</option> </option>
<option name="vmOptions" /> <option name="vmOptions" />
@ -179,7 +155,7 @@
<RunAsTest>true</RunAsTest> <RunAsTest>true</RunAsTest>
<method v="2" /> <method v="2" />
</configuration> </configuration>
<configuration name="AudioArgumentsTest.validateChecks3" type="GradleRunConfiguration" factoryName="Gradle" temporary="true"> <configuration name="FileNameParserTest.assertDotRemoval" type="GradleRunConfiguration" factoryName="Gradle" temporary="true">
<ExternalSystemSettings> <ExternalSystemSettings>
<option name="executionName" /> <option name="executionName" />
<option name="externalProjectPath" value="$PROJECT_DIR$" /> <option name="externalProjectPath" value="$PROJECT_DIR$" />
@ -190,9 +166,9 @@
</option> </option>
<option name="taskNames"> <option name="taskNames">
<list> <list>
<option value=":apps:coordinator:test" /> <option value=":shared:common:test" />
<option value="--tests" /> <option value="--tests" />
<option value="&quot;no.iktdev.mediaprocessing.coordinator.tasksV2.mapping.streams.AudioArgumentsTest.validateChecks3&quot;" /> <option value="&quot;no.iktdev.mediaprocessing.shared.common.parsing.FileNameParserTest.assertDotRemoval&quot;" />
</list> </list>
</option> </option>
<option name="vmOptions" /> <option name="vmOptions" />
@ -203,7 +179,7 @@
<RunAsTest>true</RunAsTest> <RunAsTest>true</RunAsTest>
<method v="2" /> <method v="2" />
</configuration> </configuration>
<configuration name="EncodeArgumentCreatorTaskTest" type="GradleRunConfiguration" factoryName="Gradle" temporary="true"> <configuration name="FileNameParserTest.assertTitleFails" type="GradleRunConfiguration" factoryName="Gradle" temporary="true">
<ExternalSystemSettings> <ExternalSystemSettings>
<option name="executionName" /> <option name="executionName" />
<option name="externalProjectPath" value="$PROJECT_DIR$" /> <option name="externalProjectPath" value="$PROJECT_DIR$" />
@ -214,9 +190,9 @@
</option> </option>
<option name="taskNames"> <option name="taskNames">
<list> <list>
<option value=":apps:coordinator:test" /> <option value=":shared:common:test" />
<option value="--tests" /> <option value="--tests" />
<option value="&quot;no.iktdev.mediaprocessing.coordinator.tasks.event.ffmpeg.EncodeArgumentCreatorTaskTest&quot;" /> <option value="&quot;no.iktdev.mediaprocessing.shared.common.parsing.FileNameParserTest.assertTitleFails&quot;" />
</list> </list>
</option> </option>
<option name="vmOptions" /> <option name="vmOptions" />
@ -272,20 +248,20 @@
</method> </method>
</configuration> </configuration>
<list> <list>
<item itemvalue="Gradle.AudioArgumentsTest" /> <item itemvalue="Gradle.FileNameParserTest" />
<item itemvalue="Gradle.AudioArgumentsTest.validateChecks3" /> <item itemvalue="Gradle.FileNameParserTest.assertDotRemoval" />
<item itemvalue="Gradle.EncodeArgumentCreatorTaskTest" /> <item itemvalue="Gradle.FileNameParserTest.assertTitleFails" />
<item itemvalue="Gradle.MediaProcessing2 [build]" /> <item itemvalue="Gradle.MediaProcessing2 [build]" />
<item itemvalue="Kotlin.Env - CoordinatorApplicationKt" /> <item itemvalue="Kotlin.Env - CoordinatorApplicationKt" />
<item itemvalue="Kotlin.UIApplicationKt" /> <item itemvalue="Kotlin.UIApplicationKt" />
</list> </list>
<recent_temporary> <recent_temporary>
<list> <list>
<item itemvalue="Kotlin.UIApplicationKt" />
<item itemvalue="Gradle.MediaProcessing2 [build]" /> <item itemvalue="Gradle.MediaProcessing2 [build]" />
<item itemvalue="Gradle.AudioArgumentsTest" /> <item itemvalue="Kotlin.UIApplicationKt" />
<item itemvalue="Gradle.AudioArgumentsTest.validateChecks3" /> <item itemvalue="Gradle.FileNameParserTest.assertTitleFails" />
<item itemvalue="Gradle.EncodeArgumentCreatorTaskTest" /> <item itemvalue="Gradle.FileNameParserTest.assertDotRemoval" />
<item itemvalue="Gradle.FileNameParserTest" />
</list> </list>
</recent_temporary> </recent_temporary>
</component> </component>
@ -308,6 +284,71 @@
<line>23</line> <line>23</line>
<option name="timeStamp" value="1" /> <option name="timeStamp" value="1" />
</line-breakpoint> </line-breakpoint>
<line-breakpoint enabled="true" type="kotlin-line">
<url>file://$PROJECT_DIR$/apps/coordinator/src/main/kotlin/no/iktdev/mediaprocessing/coordinator/tasksV2/listeners/CompletedTaskListener.kt</url>
<line>127</line>
<option name="timeStamp" value="5" />
</line-breakpoint>
<line-breakpoint enabled="true" type="kotlin-line">
<url>file://$PROJECT_DIR$/apps/coordinator/src/main/kotlin/no/iktdev/mediaprocessing/coordinator/tasksV2/listeners/CompletedTaskListener.kt</url>
<line>131</line>
<option name="timeStamp" value="6" />
</line-breakpoint>
<line-breakpoint enabled="true" type="kotlin-line">
<url>file://$PROJECT_DIR$/shared/eventi/src/main/kotlin/no/iktdev/eventi/implementations/EventCoordinator.kt</url>
<line>133</line>
<option name="timeStamp" value="17" />
</line-breakpoint>
<line-breakpoint enabled="true" type="kotlin-line">
<url>file://$PROJECT_DIR$/shared/eventi/src/main/kotlin/no/iktdev/eventi/implementations/EventCoordinator.kt</url>
<line>130</line>
<option name="timeStamp" value="18" />
</line-breakpoint>
<line-breakpoint enabled="true" type="kotlin-line">
<url>file://$PROJECT_DIR$/shared/eventi/src/main/kotlin/no/iktdev/eventi/implementations/EventCoordinator.kt</url>
<line>131</line>
<option name="timeStamp" value="19" />
</line-breakpoint>
<line-breakpoint enabled="true" type="kotlin-line">
<url>file://$PROJECT_DIR$/shared/common/src/test/kotlin/no/iktdev/mediaprocessing/shared/common/parsing/FileNameParserTest.kt</url>
<line>44</line>
<option name="timeStamp" value="20" />
</line-breakpoint>
<line-breakpoint enabled="true" type="kotlin-line">
<url>file://$PROJECT_DIR$/shared/common/src/test/kotlin/no/iktdev/mediaprocessing/shared/common/parsing/FileNameParserTest.kt</url>
<line>43</line>
<option name="timeStamp" value="21" />
</line-breakpoint>
<line-breakpoint enabled="true" type="kotlin-line">
<url>file://$PROJECT_DIR$/shared/common/src/main/kotlin/no/iktdev/mediaprocessing/shared/common/parsing/FileNameParser.kt</url>
<line>22</line>
<option name="timeStamp" value="22" />
</line-breakpoint>
<line-breakpoint enabled="true" type="kotlin-line">
<url>file://$PROJECT_DIR$/shared/common/src/main/kotlin/no/iktdev/mediaprocessing/shared/common/parsing/FileNameParser.kt</url>
<line>23</line>
<option name="timeStamp" value="23" />
</line-breakpoint>
<line-breakpoint enabled="true" type="kotlin-line">
<url>file://$PROJECT_DIR$/shared/common/src/main/kotlin/no/iktdev/mediaprocessing/shared/common/parsing/FileNameParser.kt</url>
<line>24</line>
<option name="timeStamp" value="25" />
</line-breakpoint>
<line-breakpoint enabled="true" type="kotlin-line">
<url>file://$PROJECT_DIR$/shared/common/src/main/kotlin/no/iktdev/mediaprocessing/shared/common/parsing/FileNameParser.kt</url>
<line>25</line>
<option name="timeStamp" value="26" />
</line-breakpoint>
<line-breakpoint enabled="true" type="kotlin-line">
<url>file://$PROJECT_DIR$/shared/common/src/main/kotlin/no/iktdev/mediaprocessing/shared/common/parsing/FileNameParser.kt</url>
<line>40</line>
<option name="timeStamp" value="27" />
</line-breakpoint>
<line-breakpoint enabled="true" type="kotlin-line">
<url>file://$PROJECT_DIR$/shared/common/src/main/kotlin/no/iktdev/mediaprocessing/shared/common/parsing/FileNameParser.kt</url>
<line>41</line>
<option name="timeStamp" value="28" />
</line-breakpoint>
</breakpoints> </breakpoints>
</breakpoint-manager> </breakpoint-manager>
</component> </component>

View File

@ -37,7 +37,7 @@ dependencies {
implementation("org.json:json:20210307") implementation("org.json:json:20210307")
implementation("no.iktdev:exfl:0.0.16-SNAPSHOT") implementation("no.iktdev:exfl:0.0.16-SNAPSHOT")
implementation("no.iktdev.streamit.library:streamit-library-db:0.0.6-alpha27") implementation("no.iktdev.streamit.library:streamit-library-db:1.0.0-alpha11")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1") implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.1")

View File

@ -310,18 +310,16 @@ class CompletedTaskListener: CoordinatorEventListener() {
withTransaction(getStoreDatabase()) { withTransaction(getStoreDatabase()) {
titles.insertIgnore { titles.insertIgnore {
it[masterTitle] = metadata.collection it[masterTitle] = metadata.collection
it[title] = NameHelper.normalize(usedTitle) it[alternativeTitle] = NameHelper.normalize(usedTitle)
it[type] = 1
} }
titles.insertIgnore { titles.insertIgnore {
it[masterTitle] = usedTitle it[masterTitle] = usedTitle
it[title] = NameHelper.normalize(usedTitle) it[alternativeTitle] = NameHelper.normalize(usedTitle)
it[type] = 2
} }
metadata.titles.forEach { title -> metadata.titles.forEach { title ->
titles.insertIgnore { titles.insertIgnore {
it[masterTitle] = usedTitle it[masterTitle] = usedTitle
it[titles.title] = title it[alternativeTitle] = title
} }
} }
} }

View File

@ -1,13 +1,13 @@
package no.iktdev.mediaprocessing.coordinator.tasksV2.listeners package no.iktdev.mediaprocessing.coordinator.tasksV2.listeners
import com.google.gson.JsonObject import com.google.gson.JsonObject
import mu.KotlinLogging
import no.iktdev.eventi.core.ConsumableEvent import no.iktdev.eventi.core.ConsumableEvent
import no.iktdev.eventi.core.WGson import no.iktdev.eventi.core.WGson
import no.iktdev.eventi.data.EventStatus import no.iktdev.eventi.data.EventStatus
import no.iktdev.exfl.using import no.iktdev.exfl.using
import no.iktdev.mediaprocessing.coordinator.Coordinator import no.iktdev.mediaprocessing.coordinator.Coordinator
import no.iktdev.mediaprocessing.coordinator.CoordinatorEventListener import no.iktdev.mediaprocessing.coordinator.CoordinatorEventListener
import no.iktdev.mediaprocessing.coordinator.utils.log
import no.iktdev.mediaprocessing.shared.common.SharedConfig import no.iktdev.mediaprocessing.shared.common.SharedConfig
import no.iktdev.mediaprocessing.shared.common.parsing.FileNameDeterminate import no.iktdev.mediaprocessing.shared.common.parsing.FileNameDeterminate
import no.iktdev.mediaprocessing.shared.common.parsing.NameHelper import no.iktdev.mediaprocessing.shared.common.parsing.NameHelper
@ -26,6 +26,7 @@ import javax.naming.Name
@Service @Service
class MediaOutInformationTaskListener: CoordinatorEventListener() { class MediaOutInformationTaskListener: CoordinatorEventListener() {
private val logger = KotlinLogging.logger {}
override fun getProducerName(): String { override fun getProducerName(): String {
return this::class.java.simpleName return this::class.java.simpleName
@ -46,7 +47,7 @@ class MediaOutInformationTaskListener: CoordinatorEventListener() {
override fun onEventsReceived(incomingEvent: ConsumableEvent<Event>, events: List<Event>) { override fun onEventsReceived(incomingEvent: ConsumableEvent<Event>, events: List<Event>) {
val event = incomingEvent.consume() val event = incomingEvent.consume()
if (event == null) { if (event == null) {
log.error { "Event is null and should not be available! ${WGson.gson.toJson(incomingEvent.metadata())}" } logger.error { "Event is null and should not be available! ${WGson.gson.toJson(incomingEvent.metadata())}" }
return return
} }
active = true active = true
@ -54,7 +55,7 @@ class MediaOutInformationTaskListener: CoordinatorEventListener() {
val metadataResult = event.az<MediaMetadataReceivedEvent>() val metadataResult = event.az<MediaMetadataReceivedEvent>()
val mediaBaseInfo = events.findLast { it.eventType == Events.EventMediaReadBaseInfoPerformed }?.az<BaseInfoEvent>()?.data val mediaBaseInfo = events.findLast { it.eventType == Events.EventMediaReadBaseInfoPerformed }?.az<BaseInfoEvent>()?.data
if (mediaBaseInfo == null) { if (mediaBaseInfo == null) {
log.error { "Required event ${Events.EventMediaReadBaseInfoPerformed} is not present" } logger.error { "Required event ${Events.EventMediaReadBaseInfoPerformed} is not present" }
coordinator?.produceNewEvent( coordinator?.produceNewEvent(
MediaOutInformationConstructedEvent( MediaOutInformationConstructedEvent(
metadata = event.makeDerivedEventInfo(EventStatus.Failed, getProducerName()) metadata = event.makeDerivedEventInfo(EventStatus.Failed, getProducerName())

View File

@ -7,6 +7,10 @@ import org.springframework.stereotype.Component
@Component @Component
class MockEventManager(dataSource: MockDataSource = MockDataSource()) : EventsManagerImpl<EventImpl>(dataSource) { class MockEventManager(dataSource: MockDataSource = MockDataSource()) : EventsManagerImpl<EventImpl>(dataSource) {
val events: MutableList<EventImpl> = mutableListOf() val events: MutableList<EventImpl> = mutableListOf()
override fun getAvailableReferenceIds(): List<String> {
TODO("Not yet implemented")
}
override fun readAvailableEvents(): List<List<EventImpl>> { override fun readAvailableEvents(): List<List<EventImpl>> {
return listOf(events) return listOf(events)
} }