From aa44edffb0b49173ef5169fdc6f23c52e7559507 Mon Sep 17 00:00:00 2001 From: "vasary.daniel" Date: Tue, 4 May 2021 18:22:12 +0000 Subject: [PATCH] git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube;C32223 --- .../run-mediacube-server-hirtv.launch | 1 + .../run-mediacube-server-local.launch | 3 +- .../run-mediacube-server-mv.launch | 1 + server/-dependencies/jobengine.target | 1 + server/-dependencies/pom.xml | 5 +- server/-product/mediacube.product | 2 +- server/-product/pom.xml | 3 +- .../production/AMC/jobs/executors.xml | 1 + .../production/AMC/jobs/schedules.json | 14 + .../production/HIRTV/configuration/config.ini | 9 - .../server/steps/ArchiveListBuilderStep.class | Bin 7315 -> 0 bytes .../steps/ArchiveListBuilderStep2.class | Bin 9114 -> 0 bytes .../steps/ArchiveMaterialSubmitStep.class | Bin 3613 -> 0 bytes .../server/steps/ArchiveRecursive.class | Bin 13303 -> 0 bytes .../server/steps/AttachLowresStep.class | Bin 5953 -> 0 bytes .../server/steps/BatchRetrieveForkStep.class | Bin 4989 -> 0 bytes .../server/steps/CancelableStep.class | Bin 4649 -> 0 bytes .../server/steps/CheckLOWRESIntegrity.class | Bin 4794 -> 0 bytes .../CheckMORPHEUSMissingMaterialsStep.class | Bin 8293 -> 0 bytes .../CheckTRAFFICMissingMaterialsStep.class | Bin 5872 -> 0 bytes .../steps/CleanupMountedLocationStep$1.class | Bin 1440 -> 0 bytes .../steps/CleanupMountedLocationStep.class | Bin 15152 -> 0 bytes .../server/steps/Cmd$IResponseCallback.class | Bin 266 -> 0 bytes .../user/jobengine/server/steps/Cmd.class | Bin 4319 -> 0 bytes .../CopyForArchiveNEXIOMaterialsStep.class | Bin 22014 -> 0 bytes .../CopyForArchiveNEXIORecordingsStep.class | Bin 20194 -> 0 bytes .../server/steps/CreateArchiveItemStep.class | Bin 3332 -> 0 bytes .../steps/CreateMissingLowresStep.class | Bin 5707 -> 0 bytes .../server/steps/DeleteFileStep.class | Bin 2436 -> 0 bytes .../steps/DeleteNEXIOMaterialsStep.class | Bin 7196 -> 0 bytes .../steps/DetectMissingLengthStep.class | Bin 5359 -> 0 bytes .../server/steps/DirMXFValidatorStep.class | Bin 3596 -> 0 bytes .../DownloadRecordingFromNexioStep$1.class | Bin 1397 -> 0 bytes .../DownloadRecordingFromNexioStep$2.class | Bin 1281 -> 0 bytes .../DownloadRecordingFromNexioStep.class | Bin 8944 -> 0 bytes .../server/steps/DuplicateRemoverStep.class | Bin 6116 -> 0 bytes .../jobengine/server/steps/EscortFiles.class | Bin 14968 -> 0 bytes .../steps/FFMpeg$IProgressChanged.class | Bin 263 -> 0 bytes .../user/jobengine/server/steps/FFMpeg.class | Bin 6658 -> 0 bytes .../steps/FILEZILLA_AVIDTransferToStep.class | Bin 866 -> 0 bytes .../FILEZILLA_PASARESTORETransferToStep.class | Bin 887 -> 0 bytes .../server/steps/FakeSpawnStep.class | Bin 2647 -> 0 bytes .../jobengine/server/steps/FakeStep.class | Bin 1977 -> 0 bytes .../server/steps/FileCleanupStep.class | Bin 2193 -> 0 bytes .../server/steps/FileCopyStep$1.class | Bin 1287 -> 0 bytes .../jobengine/server/steps/FileCopyStep.class | Bin 5022 -> 0 bytes .../server/steps/FileValidatorStep.class | Bin 6830 -> 0 bytes .../server/steps/ForkDownloadStep.class | Bin 10871 -> 0 bytes .../server/steps/ForkUploadStep.class | Bin 10636 -> 0 bytes .../steps/GenerateMorpheusMetadataStep.class | Bin 2820 -> 0 bytes .../steps/GenericArchiveCheckerStep.class | Bin 5875 -> 0 bytes .../jobengine/server/steps/HLSProxyStep.class | Bin 5502 -> 0 bytes .../server/steps/HSMMigrateStep$1.class | Bin 728 -> 0 bytes .../server/steps/HSMMigrateStep.class | Bin 16235 -> 0 bytes .../HarrisMissingMaterialCheckerStep.class | Bin 9232 -> 0 bytes .../ImportMORPHEUSMissingMaterialsStep.class | Bin 14019 -> 0 bytes .../server/steps/ImportStatisticsStep.class | Bin 15667 -> 0 bytes .../server/steps/ItemManagerExtensions.class | Bin 4134 -> 0 bytes .../server/steps/MVCancelableStep$1.class | Bin 834 -> 0 bytes .../server/steps/MVCancelableStep$2.class | Bin 995 -> 0 bytes .../server/steps/MVCancelableStep.class | Bin 8079 -> 0 bytes .../server/steps/MXFCutterStep$1.class | Bin 1325 -> 0 bytes .../server/steps/MXFCutterStep.class | Bin 6333 -> 0 bytes .../server/steps/MediaToolStep.class | Bin 2322 -> 0 bytes .../jobengine/server/steps/MergeStep.class | Bin 1030 -> 0 bytes .../server/steps/MetadataPersisterStep.class | Bin 5486 -> 0 bytes .../server/steps/MetadataTransformStep.class | Bin 10029 -> 0 bytes .../jobengine/server/steps/MetadataType.class | Bin 1320 -> 0 bytes .../server/steps/MetadataTypeDetector.class | Bin 2084 -> 0 bytes .../server/steps/NEXIO1TransferFromStep.class | Bin 2037 -> 0 bytes .../server/steps/NEXIO1TransferToStep.class | Bin 1070 -> 0 bytes .../server/steps/NEXIO2TransferFromStep.class | Bin 2037 -> 0 bytes .../server/steps/NEXIO2TransferToStep.class | Bin 1070 -> 0 bytes .../steps/NEXIOArchiveCheckerStep.class | Bin 9305 -> 0 bytes .../steps/NEXIOMetadataPersisterStep.class | Bin 5273 -> 0 bytes .../server/steps/OctopusDataMiner.class | Bin 25313 -> 0 bytes .../server/steps/OctopusDataMinerStable.class | Bin 29567 -> 0 bytes .../OutputPathAndNameSelectorStep$1.class | Bin 2170 -> 0 bytes .../steps/OutputPathAndNameSelectorStep.class | Bin 7740 -> 0 bytes .../server/steps/PASAPOOLTransferToStep.class | Bin 3454 -> 0 bytes .../server/steps/PBQuery$MMMedia.class | Bin 831 -> 0 bytes .../user/jobengine/server/steps/PBQuery.class | Bin 13190 -> 0 bytes ...eableBeachMissingMaterialCheckerStep.class | Bin 11080 -> 0 bytes .../server/steps/PlanAirExtensions.class | Bin 14253 -> 0 bytes .../ProjectCleanupMountedLocationStep$1.class | Bin 1482 -> 0 bytes .../ProjectCleanupMountedLocationStep.class | Bin 11572 -> 0 bytes .../RecordingsArchiveItemBuilderStep$1.class | Bin 3809 -> 0 bytes .../RecordingsArchiveItemBuilderStep.class | Bin 12837 -> 0 bytes .../steps/RegisterUserRestoreStep.class | Bin 5561 -> 0 bytes .../server/steps/RegisterVODRestoreStep.class | Bin 5107 -> 0 bytes .../server/steps/SubmitChildStep.class | Bin 1332 -> 0 bytes .../server/steps/SubmitDownloadStep.class | Bin 3291 -> 0 bytes .../server/steps/SyncOCTOPUSDataStep$1.class | Bin 1223 -> 0 bytes .../server/steps/SyncOCTOPUSDataStep.class | Bin 2461 -> 0 bytes .../server/steps/SyncSubtitlesStep$1.class | Bin 1940 -> 0 bytes .../server/steps/SyncSubtitlesStep.class | Bin 4927 -> 0 bytes .../server/steps/TSMBackupStep$1.class | Bin 1179 -> 0 bytes .../server/steps/TSMBackupStep$2.class | Bin 1063 -> 0 bytes .../server/steps/TSMBackupStep.class | Bin 10934 -> 0 bytes .../steps/TSMExtendedRetrieveStep.class | Bin 4937 -> 0 bytes .../server/steps/TSMRestoreStep$1.class | Bin 1303 -> 0 bytes .../server/steps/TSMRestoreStep$2.class | Bin 1187 -> 0 bytes .../server/steps/TSMRestoreStep.class | Bin 10805 -> 0 bytes .../TSMRetrieveMissingMaterialStep.class | Bin 3000 -> 0 bytes .../server/steps/TSMSimpleRestoreStep$1.class | Bin 1016 -> 0 bytes .../server/steps/TSMSimpleRestoreStep$2.class | Bin 1057 -> 0 bytes .../server/steps/TSMSimpleRestoreStep.class | Bin 4191 -> 0 bytes .../server/steps/TSMSystemRestoreStep$1.class | Bin 1303 -> 0 bytes .../server/steps/TSMSystemRestoreStep$2.class | Bin 1187 -> 0 bytes .../server/steps/TSMSystemRestoreStep.class | Bin 7923 -> 0 bytes .../server/steps/TSMTransferFromStep.class | Bin 1803 -> 0 bytes .../server/steps/TSMTransferToStep.class | Bin 1231 -> 0 bytes .../server/steps/TSMWriterStep$1.class | Bin 1179 -> 0 bytes .../server/steps/TSMWriterStep$2.class | Bin 1063 -> 0 bytes .../server/steps/TSMWriterStep.class | Bin 10606 -> 0 bytes .../server/steps/TestForkCancelableStep.class | Bin 3685 -> 0 bytes .../server/steps/TranscodeFFAStranStep.class | Bin 9224 -> 0 bytes .../server/steps/TranscodeSELENIOStep.class | Bin 14097 -> 0 bytes .../server/steps/TranscodeStep.class | Bin 2340 -> 0 bytes .../server/steps/TransferFromFTPStep.class | Bin 839 -> 0 bytes .../server/steps/TransferFromTSMStep.class | Bin 2028 -> 0 bytes .../jobengine/server/steps/TransferStep.class | Bin 5751 -> 0 bytes .../server/steps/TransferToFTPStep.class | Bin 833 -> 0 bytes .../steps/UpdateGhostMediaDataStep.class | Bin 6314 -> 0 bytes .../steps/UploadRecordingToNexioStep$1.class | Bin 1355 -> 0 bytes .../steps/UploadRecordingToNexioStep$2.class | Bin 1239 -> 0 bytes .../steps/UploadRecordingToNexioStep.class | Bin 7490 -> 0 bytes .../server/steps/VODTransferToStep.class | Bin 1449 -> 0 bytes .../server/steps/WorkerKeepAliveStep.class | Bin 3068 -> 0 bytes .../-product/production/HIRTV/mediacube.bat | 18 - server/-product/production/HIRTV/mediacube.sh | 15 +- .../HIRTV/settings/application.yaml | 8 +- .../production/HIRTV/settings/jetty.xml | 45 - .../jobengine/server/steps/EscortFiles.class | Bin 14968 -> 0 bytes .../server/steps/ItemManagerExtensions.class | Bin 4134 -> 0 bytes .../jobengine/server/steps/MetadataType.class | Bin 1320 -> 0 bytes .../MetadataTypeDetector$MetadataType.class | Bin 1554 -> 0 bytes .../server/steps/MetadataTypeDetector.class | Bin 2084 -> 0 bytes .../server/steps/TSMRestoreStep$1.class | Bin 1303 -> 0 bytes .../server/steps/TSMRestoreStep$2.class | Bin 1187 -> 0 bytes .../server/steps/TSMRestoreStep.class | Bin 9183 -> 0 bytes .../production/LOCAL/jobs/executors.xml | 6 + .../production/LOCAL/jobs/schedules.json | 19 + .../LOCAL/jobs/steps/CancelableStep.java | 2 +- .../LOCAL/jobs/steps/ExternalCommand.java | 79 ++ .../jobs/steps/ExternalCommandExecutor.java | 32 + .../LOCAL/jobs/steps/ExternalProfile.java | 33 + .../jobs/steps/ExternalProfilesConfig.java | 15 + .../LOCAL/jobs/steps/IExternalCallback.java | 5 + .../LOCAL/jobs/steps/MediaCubeClient.java | 77 ++ ...epareRemoteTranscodeJobParametersStep.java | 20 + .../steps/QueryMissingProxyMediaStep.java | 76 ++ .../LOCAL/jobs/steps/RemoteJobStep.java | 43 + .../LOCAL/jobs/steps/TranscodeFFMpegStep.java | 52 + .../jobs/templates/create-proxy-ffmpeg.xml | 25 + .../LOCAL/jobs/templates/remote-transcode.xml | 111 +++ .../LOCAL/jobs/templates/template1.yaml | 28 - .../-product/production/LOCAL/mediacube.bat | 2 +- .../LOCAL/settings/application-htv.yaml | 57 ++ .../LOCAL/settings/application-local.yaml | 45 + .../LOCAL/settings/application.yaml | 20 +- .../LOCAL/settings/external-commands.yaml | 27 + .../production/LOCAL/settings/ffmpeg.yaml | 14 - .../jobengine/server/steps/EscortFiles.class | Bin 14968 -> 0 bytes .../server/steps/ItemManagerExtensions.class | Bin 4134 -> 0 bytes .../jobengine/server/steps/MetadataType.class | Bin 1320 -> 0 bytes .../MetadataTypeDetector$MetadataType.class | Bin 1554 -> 0 bytes .../server/steps/MetadataTypeDetector.class | Bin 2084 -> 0 bytes .../server/steps/TSMRestoreStep$1.class | Bin 1303 -> 0 bytes .../server/steps/TSMRestoreStep$2.class | Bin 1187 -> 0 bytes .../server/steps/TSMRestoreStep.class | Bin 9183 -> 0 bytes .../MEDIAVIVANTIS/jobs/executors.xml | 5 + .../MEDIAVIVANTIS/jobs/schedules.json | 11 + .../MEDIAVIVANTIS/jobs/steps/EscortFiles.java | 339 +++++++ .../jobs/steps/ExternalCommand.java | 79 ++ .../jobs/steps/ExternalCommandExecutor.java | 32 + .../jobs/steps/ExternalProfile.java | 33 + .../jobs/steps/ExternalProfilesConfig.java | 15 + .../jobs/steps/IExternalCallback.java | 5 + .../jobs/steps/ItemManagerExtensions.java | 58 ++ .../jobs/steps/MediaCubeClient.java | 77 ++ .../jobs/steps/MetadataType.java | 5 + .../jobs/steps/MetadataTypeDetector.java | 49 + .../steps/OutputPathAndNameSelectorStep.java | 6 + .../jobs/steps/PrepareMediaRestoreStep.java | 30 + ...epareRemoteTranscodeJobParametersStep.java | 20 + .../steps/QueryMissingProxyMediaStep.java | 76 ++ .../jobs/steps/RemoteJobStep.java | 43 + .../jobs/steps/TSMRestoreStep.java | 25 + .../jobs/templates/remote-transcode.xml | 111 +++ .../jobs/templates/template1.yaml | 28 - .../MEDIAVIVANTIS/settings/application.yaml | 7 - .../META-INF/MANIFEST.MF | 2 + .../settings/external-commands.yaml | 27 + .../mediacube/executors/tests/SmallTests.java | 44 + .../tsmapi-1.1.dll | Bin 41984 -> 0 bytes server/user.commons.zk/.classpath | 1 + server/user.commons.zk/META-INF/MANIFEST.MF | 3 +- server/user.commons.zk/build.properties | 3 +- .../datahandler-syntax-highlight-1.0.0.jar | Bin 0 -> 46242 bytes server/user.jobengine.executors/.classpath | 1 - .../server/steps/ArchiveListBuilderStep.java | 0 .../server/steps/ArchiveRecursive.java | 0 .../server/steps/CreateMissingLowresStep.java | 0 .../server/steps/FileValidatorStep.java | 11 +- .../server/steps/TSMSimpleRestoreStep.java | 0 .../server/steps/CancelableStep.java | 1 + .../steps/CleanupMountedLocationStep.java | 8 +- .../src/user/jobengine/server/steps/Cmd.java | 2 +- .../steps/EnsureProxyPathExistanceStep.java | 23 + .../user/jobengine/server/steps/FFMpeg.java | 8 +- .../server/steps/IntegrationTestStep.java | 81 ++ .../server/steps/MediaCubeClient.java | 77 ++ .../server/steps/PrepareMediaRestoreStep.java | 32 + ...epareRemoteTranscodeJobParametersStep.java | 32 + .../steps/QueryMissingProxyMediaStep.java | 76 ++ .../jobengine/server/steps/RemoteJobStep.java | 40 + .../server/steps/TestForkCancelableStep.java | 3 + .../server/steps/TranscodeFFMpegStep.java | 48 + .../server/steps/shared/ExternalCommand.java | 79 ++ .../steps/shared/ExternalCommandExecutor.java | 39 + .../server/steps/shared/ExternalProfile.java | 33 + .../steps/shared/ExternalProfilesConfig.java | 15 + .../steps/shared/IExternalCallback.java | 5 + .../configuration/SystemConfiguration.java | 5 +- .../src/user/commons/mediaarea/MediaArea.java | 16 + .../src/user/commons/nexio/NexioAPI.java | 9 +- .../user/commons/nexio/NexioDispatcher.java | 22 +- .../generated/user/jobengine/db/BreakDAO.java | 390 ++++++++ .../user/jobengine/db/FolderDAO.java | 312 ++++++ .../generated/user/jobengine/db/ItemIter.java | 86 ++ .../user/jobengine/db/MasterIdDAO.java | 169 ++++ .../user/jobengine/db/MetadataDAO.java | 906 ++++++++++++++++++ .../generated/user/jobengine/db/StoreDAO.java | 448 +++++++++ .../user/jobengine/db/StoreUriDAO.java | 524 ++++++++++ ....sql => 034_modify_view_missing_proxy.sql} | 21 +- .../scripts/035_add_local_store.sql | 17 + .../server/IJobEngineConfiguration.java | 2 + .../src/user/jobengine/server/JobEngine.java | 22 +- .../server/JobEngineConfiguration.java | 34 +- .../jobengine/server/JobStepExecutor.java | 1 + .../jobengine/server/ast/InputParameter.java | 5 + .../jobengine/server/ast/JobTemplate.java | 7 + .../jobengine/server/ast/OutputParameter.java | 25 +- .../user/jobengine/server/ast/Parameter.java | 2 +- .../user/jobengine/server/steps/JobStep.java | 19 + .../osgi/mediacube/MediaCubeService.java | 41 +- .../jobengine/osgi/rest/ComponentBinder.java | 6 +- server/user.mediacube.gui/pages/joblist.zul | 3 +- .../user.mediacube.gui/pages/jobselector.zul | 183 ++-- .../user.mediacube.gui/pages/storeeditor.zul | 139 +++ .../jobengine/zk/model/AsyncBaseModel.java | 5 +- .../user/jobengine/zk/model/JobListModel.java | 41 +- .../jobengine/zk/model/JobSelectorModel.java | 6 + 254 files changed, 5762 insertions(+), 366 deletions(-) delete mode 100644 server/-product/production/HIRTV/configuration/config.ini delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/ArchiveListBuilderStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/ArchiveListBuilderStep2.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/ArchiveMaterialSubmitStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/ArchiveRecursive.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/AttachLowresStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/BatchRetrieveForkStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/CancelableStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/CheckLOWRESIntegrity.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/CheckMORPHEUSMissingMaterialsStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/CheckTRAFFICMissingMaterialsStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/CleanupMountedLocationStep$1.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/CleanupMountedLocationStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/Cmd$IResponseCallback.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/Cmd.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/CopyForArchiveNEXIOMaterialsStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/CopyForArchiveNEXIORecordingsStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/CreateArchiveItemStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/CreateMissingLowresStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/DeleteFileStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/DeleteNEXIOMaterialsStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/DetectMissingLengthStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/DirMXFValidatorStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/DownloadRecordingFromNexioStep$1.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/DownloadRecordingFromNexioStep$2.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/DownloadRecordingFromNexioStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/DuplicateRemoverStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/EscortFiles.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/FFMpeg$IProgressChanged.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/FFMpeg.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/FILEZILLA_AVIDTransferToStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/FILEZILLA_PASARESTORETransferToStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/FakeSpawnStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/FakeStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/FileCleanupStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/FileCopyStep$1.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/FileCopyStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/FileValidatorStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/ForkDownloadStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/ForkUploadStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/GenerateMorpheusMetadataStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/GenericArchiveCheckerStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/HLSProxyStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/HSMMigrateStep$1.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/HSMMigrateStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/HarrisMissingMaterialCheckerStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/ImportMORPHEUSMissingMaterialsStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/ImportStatisticsStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/ItemManagerExtensions.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/MVCancelableStep$1.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/MVCancelableStep$2.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/MVCancelableStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/MXFCutterStep$1.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/MXFCutterStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/MediaToolStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/MergeStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/MetadataPersisterStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/MetadataTransformStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/MetadataType.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/MetadataTypeDetector.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/NEXIO1TransferFromStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/NEXIO1TransferToStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/NEXIO2TransferFromStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/NEXIO2TransferToStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/NEXIOArchiveCheckerStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/NEXIOMetadataPersisterStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/OctopusDataMiner.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/OctopusDataMinerStable.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/OutputPathAndNameSelectorStep$1.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/OutputPathAndNameSelectorStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/PASAPOOLTransferToStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/PBQuery$MMMedia.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/PBQuery.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/PeableBeachMissingMaterialCheckerStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/PlanAirExtensions.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/ProjectCleanupMountedLocationStep$1.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/ProjectCleanupMountedLocationStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/RecordingsArchiveItemBuilderStep$1.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/RecordingsArchiveItemBuilderStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/RegisterUserRestoreStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/RegisterVODRestoreStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/SubmitChildStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/SubmitDownloadStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/SyncOCTOPUSDataStep$1.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/SyncOCTOPUSDataStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/SyncSubtitlesStep$1.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/SyncSubtitlesStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/TSMBackupStep$1.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/TSMBackupStep$2.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/TSMBackupStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/TSMExtendedRetrieveStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/TSMRestoreStep$1.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/TSMRestoreStep$2.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/TSMRestoreStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/TSMRetrieveMissingMaterialStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/TSMSimpleRestoreStep$1.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/TSMSimpleRestoreStep$2.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/TSMSimpleRestoreStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/TSMSystemRestoreStep$1.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/TSMSystemRestoreStep$2.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/TSMSystemRestoreStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/TSMTransferFromStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/TSMTransferToStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/TSMWriterStep$1.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/TSMWriterStep$2.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/TSMWriterStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/TestForkCancelableStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/TranscodeFFAStranStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/TranscodeSELENIOStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/TranscodeStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/TransferFromFTPStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/TransferFromTSMStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/TransferStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/TransferToFTPStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/UpdateGhostMediaDataStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/UploadRecordingToNexioStep$1.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/UploadRecordingToNexioStep$2.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/UploadRecordingToNexioStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/VODTransferToStep.class delete mode 100644 server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/WorkerKeepAliveStep.class delete mode 100644 server/-product/production/HIRTV/mediacube.bat delete mode 100644 server/-product/production/HIRTV/settings/jetty.xml delete mode 100644 server/-product/production/LOCAL/jobs/classes/user/jobengine/server/steps/EscortFiles.class delete mode 100644 server/-product/production/LOCAL/jobs/classes/user/jobengine/server/steps/ItemManagerExtensions.class delete mode 100644 server/-product/production/LOCAL/jobs/classes/user/jobengine/server/steps/MetadataType.class delete mode 100644 server/-product/production/LOCAL/jobs/classes/user/jobengine/server/steps/MetadataTypeDetector$MetadataType.class delete mode 100644 server/-product/production/LOCAL/jobs/classes/user/jobengine/server/steps/MetadataTypeDetector.class delete mode 100644 server/-product/production/LOCAL/jobs/classes/user/jobengine/server/steps/TSMRestoreStep$1.class delete mode 100644 server/-product/production/LOCAL/jobs/classes/user/jobengine/server/steps/TSMRestoreStep$2.class delete mode 100644 server/-product/production/LOCAL/jobs/classes/user/jobengine/server/steps/TSMRestoreStep.class create mode 100644 server/-product/production/LOCAL/jobs/steps/ExternalCommand.java create mode 100644 server/-product/production/LOCAL/jobs/steps/ExternalCommandExecutor.java create mode 100644 server/-product/production/LOCAL/jobs/steps/ExternalProfile.java create mode 100644 server/-product/production/LOCAL/jobs/steps/ExternalProfilesConfig.java create mode 100644 server/-product/production/LOCAL/jobs/steps/IExternalCallback.java create mode 100644 server/-product/production/LOCAL/jobs/steps/MediaCubeClient.java create mode 100644 server/-product/production/LOCAL/jobs/steps/PrepareRemoteTranscodeJobParametersStep.java create mode 100644 server/-product/production/LOCAL/jobs/steps/QueryMissingProxyMediaStep.java create mode 100644 server/-product/production/LOCAL/jobs/steps/RemoteJobStep.java create mode 100644 server/-product/production/LOCAL/jobs/steps/TranscodeFFMpegStep.java create mode 100644 server/-product/production/LOCAL/jobs/templates/create-proxy-ffmpeg.xml create mode 100644 server/-product/production/LOCAL/jobs/templates/remote-transcode.xml delete mode 100644 server/-product/production/LOCAL/jobs/templates/template1.yaml create mode 100644 server/-product/production/LOCAL/settings/application-htv.yaml create mode 100644 server/-product/production/LOCAL/settings/application-local.yaml create mode 100644 server/-product/production/LOCAL/settings/external-commands.yaml delete mode 100644 server/-product/production/LOCAL/settings/ffmpeg.yaml delete mode 100644 server/-product/production/MEDIAVIVANTIS/jobs/classes/user/jobengine/server/steps/EscortFiles.class delete mode 100644 server/-product/production/MEDIAVIVANTIS/jobs/classes/user/jobengine/server/steps/ItemManagerExtensions.class delete mode 100644 server/-product/production/MEDIAVIVANTIS/jobs/classes/user/jobengine/server/steps/MetadataType.class delete mode 100644 server/-product/production/MEDIAVIVANTIS/jobs/classes/user/jobengine/server/steps/MetadataTypeDetector$MetadataType.class delete mode 100644 server/-product/production/MEDIAVIVANTIS/jobs/classes/user/jobengine/server/steps/MetadataTypeDetector.class delete mode 100644 server/-product/production/MEDIAVIVANTIS/jobs/classes/user/jobengine/server/steps/TSMRestoreStep$1.class delete mode 100644 server/-product/production/MEDIAVIVANTIS/jobs/classes/user/jobengine/server/steps/TSMRestoreStep$2.class delete mode 100644 server/-product/production/MEDIAVIVANTIS/jobs/classes/user/jobengine/server/steps/TSMRestoreStep.class create mode 100644 server/-product/production/MEDIAVIVANTIS/jobs/steps/EscortFiles.java create mode 100644 server/-product/production/MEDIAVIVANTIS/jobs/steps/ExternalCommand.java create mode 100644 server/-product/production/MEDIAVIVANTIS/jobs/steps/ExternalCommandExecutor.java create mode 100644 server/-product/production/MEDIAVIVANTIS/jobs/steps/ExternalProfile.java create mode 100644 server/-product/production/MEDIAVIVANTIS/jobs/steps/ExternalProfilesConfig.java create mode 100644 server/-product/production/MEDIAVIVANTIS/jobs/steps/IExternalCallback.java create mode 100644 server/-product/production/MEDIAVIVANTIS/jobs/steps/ItemManagerExtensions.java create mode 100644 server/-product/production/MEDIAVIVANTIS/jobs/steps/MediaCubeClient.java create mode 100644 server/-product/production/MEDIAVIVANTIS/jobs/steps/MetadataType.java create mode 100644 server/-product/production/MEDIAVIVANTIS/jobs/steps/MetadataTypeDetector.java create mode 100644 server/-product/production/MEDIAVIVANTIS/jobs/steps/PrepareMediaRestoreStep.java create mode 100644 server/-product/production/MEDIAVIVANTIS/jobs/steps/PrepareRemoteTranscodeJobParametersStep.java create mode 100644 server/-product/production/MEDIAVIVANTIS/jobs/steps/QueryMissingProxyMediaStep.java create mode 100644 server/-product/production/MEDIAVIVANTIS/jobs/steps/RemoteJobStep.java create mode 100644 server/-product/production/MEDIAVIVANTIS/jobs/templates/remote-transcode.xml delete mode 100644 server/-product/production/MEDIAVIVANTIS/jobs/templates/template1.yaml create mode 100644 server/hu.user.mediacube.executors.tests/settings/external-commands.yaml delete mode 100644 server/hu.user.mediacube.executors.tests/tsmapi-1.1.dll create mode 100644 server/user.commons.zk/lib/datahandler-syntax-highlight-1.0.0.jar rename server/user.jobengine.executors/{mediavivantis => amc}/user/jobengine/server/steps/ArchiveListBuilderStep.java (100%) rename server/user.jobengine.executors/{mediavivantis => amc}/user/jobengine/server/steps/ArchiveRecursive.java (100%) rename server/user.jobengine.executors/{mediavivantis => amc}/user/jobengine/server/steps/CreateMissingLowresStep.java (100%) rename server/user.jobengine.executors/{mediavivantis => amc}/user/jobengine/server/steps/TSMSimpleRestoreStep.java (100%) create mode 100644 server/user.jobengine.executors/src/user/jobengine/server/steps/EnsureProxyPathExistanceStep.java create mode 100644 server/user.jobengine.executors/src/user/jobengine/server/steps/IntegrationTestStep.java create mode 100644 server/user.jobengine.executors/src/user/jobengine/server/steps/MediaCubeClient.java create mode 100644 server/user.jobengine.executors/src/user/jobengine/server/steps/PrepareMediaRestoreStep.java create mode 100644 server/user.jobengine.executors/src/user/jobengine/server/steps/PrepareRemoteTranscodeJobParametersStep.java create mode 100644 server/user.jobengine.executors/src/user/jobengine/server/steps/QueryMissingProxyMediaStep.java create mode 100644 server/user.jobengine.executors/src/user/jobengine/server/steps/RemoteJobStep.java create mode 100644 server/user.jobengine.executors/src/user/jobengine/server/steps/TranscodeFFMpegStep.java create mode 100644 server/user.jobengine.executors/src/user/jobengine/server/steps/shared/ExternalCommand.java create mode 100644 server/user.jobengine.executors/src/user/jobengine/server/steps/shared/ExternalCommandExecutor.java create mode 100644 server/user.jobengine.executors/src/user/jobengine/server/steps/shared/ExternalProfile.java create mode 100644 server/user.jobengine.executors/src/user/jobengine/server/steps/shared/ExternalProfilesConfig.java create mode 100644 server/user.jobengine.executors/src/user/jobengine/server/steps/shared/IExternalCallback.java create mode 100644 server/user.jobengine.osgi.db/generated/user/jobengine/db/BreakDAO.java create mode 100644 server/user.jobengine.osgi.db/generated/user/jobengine/db/FolderDAO.java create mode 100644 server/user.jobengine.osgi.db/generated/user/jobengine/db/ItemIter.java create mode 100644 server/user.jobengine.osgi.db/generated/user/jobengine/db/MasterIdDAO.java create mode 100644 server/user.jobengine.osgi.db/generated/user/jobengine/db/MetadataDAO.java create mode 100644 server/user.jobengine.osgi.db/generated/user/jobengine/db/StoreDAO.java create mode 100644 server/user.jobengine.osgi.db/generated/user/jobengine/db/StoreUriDAO.java rename server/user.jobengine.osgi.db/migrations/scripts/{008_missing_proxy_video_only.sql => 034_modify_view_missing_proxy.sql} (72%) create mode 100644 server/user.jobengine.osgi.db/migrations/scripts/035_add_local_store.sql create mode 100644 server/user.mediacube.gui/pages/storeeditor.zul diff --git a/server/-configuration/run-mediacube-server-hirtv.launch b/server/-configuration/run-mediacube-server-hirtv.launch index 423db869..a27365a6 100644 --- a/server/-configuration/run-mediacube-server-hirtv.launch +++ b/server/-configuration/run-mediacube-server-hirtv.launch @@ -36,6 +36,7 @@ + diff --git a/server/-configuration/run-mediacube-server-local.launch b/server/-configuration/run-mediacube-server-local.launch index 049fba25..ff249010 100644 --- a/server/-configuration/run-mediacube-server-local.launch +++ b/server/-configuration/run-mediacube-server-local.launch @@ -20,7 +20,7 @@ - + @@ -36,6 +36,7 @@ + diff --git a/server/-configuration/run-mediacube-server-mv.launch b/server/-configuration/run-mediacube-server-mv.launch index 2e8ba611..5e4df1ae 100644 --- a/server/-configuration/run-mediacube-server-mv.launch +++ b/server/-configuration/run-mediacube-server-mv.launch @@ -36,6 +36,7 @@ + diff --git a/server/-dependencies/jobengine.target b/server/-dependencies/jobengine.target index 61e35124..a5fdee1c 100644 --- a/server/-dependencies/jobengine.target +++ b/server/-dependencies/jobengine.target @@ -91,6 +91,7 @@ + win32 diff --git a/server/-dependencies/pom.xml b/server/-dependencies/pom.xml index 35500f6c..3ac7c4d0 100644 --- a/server/-dependencies/pom.xml +++ b/server/-dependencies/pom.xml @@ -98,7 +98,10 @@ org.eclipse.platform:org.eclipse.equinox.launcher:1.3.201 - net.java.dev.jna:jna:4.2.0 + net.java.dev.jna:jna:5.8.0 + + + net.java.dev.jna:jna-platform:5.8.0 io.humble:humble-video-all:0.2.1 diff --git a/server/-product/mediacube.product b/server/-product/mediacube.product index d5d522e3..d61a7e99 100644 --- a/server/-product/mediacube.product +++ b/server/-product/mediacube.product @@ -13,7 +13,6 @@ - @@ -37,6 +36,7 @@ + diff --git a/server/-product/pom.xml b/server/-product/pom.xml index 3a81fbec..cdc779fa 100644 --- a/server/-product/pom.xml +++ b/server/-product/pom.xml @@ -35,6 +35,7 @@ + diff --git a/server/-product/production/AMC/jobs/executors.xml b/server/-product/production/AMC/jobs/executors.xml index 17e61057..4e6b6822 100644 --- a/server/-product/production/AMC/jobs/executors.xml +++ b/server/-product/production/AMC/jobs/executors.xml @@ -1,5 +1,6 @@ + diff --git a/server/-product/production/AMC/jobs/schedules.json b/server/-product/production/AMC/jobs/schedules.json index 622f4da7..822c1905 100644 --- a/server/-product/production/AMC/jobs/schedules.json +++ b/server/-product/production/AMC/jobs/schedules.json @@ -1,5 +1,19 @@ {"joblist":[ { + "template": "sync-subtitles.xml", + "name" : "Feliratok szinkronizálása", + "parameters": [ + {"name": "sourceFolder", "value": "y:\\IBMS_Rundowns", "type": "java.lang.String"}, + { + "name": "filter", + "value": { + "fileName": ".*\\.(txt)$" + }, + "type": "com.ibm.nosql.json.api.BasicDBObject" + } + ] + }, + { "template": "server-status-report.xml", "name" : "MediaCube státusz", "active": true, diff --git a/server/-product/production/HIRTV/configuration/config.ini b/server/-product/production/HIRTV/configuration/config.ini deleted file mode 100644 index 702342e6..00000000 --- a/server/-product/production/HIRTV/configuration/config.ini +++ /dev/null @@ -1,9 +0,0 @@ -#This configuration file was written by: org.eclipse.equinox.internal.frameworkadmin.equinox.EquinoxFwConfigFileParser -#Sun Apr 18 21:25:34 CEST 2021 -osgi.bundles=reference\:file\:cglib_2.2.2.jar@4,reference\:file\:com.fasterxml.jackson.core.jackson-annotations_2.4.5.jar@4,reference\:file\:com.fasterxml.jackson.core.jackson-core_2.4.5.jar@4,reference\:file\:com.fasterxml.jackson.core.jackson-databind_2.4.5.jar@4,reference\:file\:com.fasterxml.jackson.dataformat.jackson-dataformat-yaml_2.4.5.jar@4,reference\:file\:com.fasterxml.jackson.datatype.jackson-datatype-joda_2.4.5.jar@4,reference\:file\:com.fasterxml.jackson.jaxrs.jackson-jaxrs-base_2.4.5.jar@4,reference\:file\:com.fasterxml.jackson.jaxrs.jackson-jaxrs-json-provider_2.4.5.jar@4,reference\:file\:com.fasterxml.jackson.module.jackson-module-jaxb-annotations_2.4.5.jar@4,reference\:file\:com.ibm.db2.jcc_1.4.0.jar@4,reference\:file\:com.ibm.nosql_4.19.26.jar@4,reference\:file\:com.microsoft.sqlserver.sqljdbc_6.0.8112.100.jar@4,reference\:file\:com.sun.jna_4.2.0.jar@4,reference\:file\:groovy_3.0.3.jar@4,reference\:file\:io.humble.video-arch-x86_64-pc-linux-gnu6_0.2.1.jar@4,reference\:file\:io.humble.video-arch-x86_64-w64-mingw32_0.2.1.jar@4,reference\:file\:io.humble.video-noarch_0.2.1.jar@4,reference\:file\:javax.annotation-api_1.2.0.jar@4,reference\:file\:javax.mail_1.5.0.b01.jar@4,reference\:file\:javax.servlet-api_3.1.0.jar@4,reference\:file\:javax.ws.rs-api_2.0.1.jar@4,reference\:file\:jcifs_1.3.17.jar@4,reference\:file\:joda-time_2.2.0.jar@4,reference\:file\:junit_4.12.0.jar@4,reference\:file\:org.apache.aries.spifly.dynamic.bundle_1.0.8.jar@4,reference\:file\:org.apache.aries.util_1.0.0.jar@4,reference\:file\:org.apache.commons.beanutils_1.8.3.jar@4,reference\:file\:org.apache.commons.collections_3.2.2.jar@4,reference\:file\:org.apache.commons.digester_3.2.0.jar@4,reference\:file\:org.apache.commons.io_2.6.0.jar@4,reference\:file\:org.apache.commons.lang_2.6.0.jar@4,reference\:file\:org.apache.commons.net_3.6.0.jar@4,reference\:file\:org.apache.felix.gogo.command_0.12.0.jar@4,reference\:file\:org.apache.felix.gogo.runtime_0.12.0.jar@4,reference\:file\:org.apache.felix.gogo.shell_0.12.0.jar@4,reference\:file\:org.apache.httpcomponents.httpclient_4.2.6.jar@4,reference\:file\:org.apache.httpcomponents.httpcore_4.2.5.jar@4,reference\:file\:org.apache.logging.log4j.api_2.8.2.jar@1\:start,reference\:file\:org.apache.logging.log4j.core_2.8.2.jar@4,reference\:file\:org.apache.logging.log4j.slf4j-impl_2.8.2.jar@4,reference\:file\:org.apache.servicemix.bundles.quartz_2.3.0.2.jar@4,reference\:file\:org.eclipse.equinox.common_3.8.0.v20160509-1230.jar@2\:start,reference\:file\:org.eclipse.equinox.console_1.1.200.v20150929-1405.jar@4,reference\:file\:org.eclipse.equinox.ds_1.4.400.v20160226-2036.jar@1\:start,reference\:file\:org.eclipse.equinox.launcher_1.3.201.v20161025-1711.jar@4,reference\:file\:org.eclipse.equinox.util_1.0.500.v20130404-1337.jar@4,reference\:file\:org.eclipse.jetty.client_9.3.9.v20160517.jar@4,reference\:file\:org.eclipse.jetty.deploy_9.3.9.v20160517.jar@4,reference\:file\:org.eclipse.jetty.http_9.3.9.v20160517.jar@4,reference\:file\:org.eclipse.jetty.io_9.3.9.v20160517.jar@4,reference\:file\:org.eclipse.jetty.osgi.boot_9.3.9.v20160517.jar@4\:start,reference\:file\:org.eclipse.jetty.schemas_3.1.0.jar@4,reference\:file\:org.eclipse.jetty.security_9.3.9.v20160517.jar@4,reference\:file\:org.eclipse.jetty.server_9.3.9.v20160517.jar@4,reference\:file\:org.eclipse.jetty.servlet_9.3.9.v20160517.jar@4,reference\:file\:org.eclipse.jetty.util_9.3.9.v20160517.jar@4,reference\:file\:org.eclipse.jetty.webapp_9.3.9.v20160517.jar@4,reference\:file\:org.eclipse.jetty.websocket.api_9.3.9.v20160517.jar@4,reference\:file\:org.eclipse.jetty.websocket.client_9.3.9.v20160517.jar@4,reference\:file\:org.eclipse.jetty.websocket.common_9.3.9.v20160517.jar@4,reference\:file\:org.eclipse.jetty.websocket.server_9.3.9.v20160517.jar@4,reference\:file\:org.eclipse.jetty.websocket.servlet_9.3.9.v20160517.jar@4,reference\:file\:org.eclipse.jetty.xml_9.3.9.v20160517.jar@4,reference\:file\:org.eclipse.osgi.services_3.2.100.v20100503.jar@4,reference\:file\:org.hamcrest.core_1.3.0.jar@4,reference\:file\:org.jboss.resteasy.client_3.0.11.Final.jar@4,reference\:file\:org.jboss.resteasy.jaxb-provider_3.0.11.Final.jar@4,reference\:file\:org.jboss.resteasy.jaxrs_3.0.11.Final.jar@4,reference\:file\:org.jboss.resteasy.jaxrs-api_3.0.11.Final.jar@4,reference\:file\:org.jmock_2.6.0.jar@4,reference\:file\:org.jmock.junit4_2.6.0.jar@4,reference\:file\:org.mybatis.mybatis_3.5.2.jar@4,reference\:file\:org.objectweb.asm_5.0.1.jar@4,reference\:file\:org.objectweb.asm.commons_5.0.1.jar@4,reference\:file\:org.objectweb.asm.tree_5.0.1.jar@4,reference\:file\:org.omnifaces_3.4.1.jar@4,reference\:file\:slf4j.api_1.7.24.jar@4,reference\:file\:slf4j.simple_1.7.2.jar@4,reference\:file\:user.commons.log4j2_1.0.0.jar@4,reference\:file\:user.commons.zk_8.0.3.jar@4,reference\:file\:user.jobengine.osgi.commons_1.0.0.jar@4\:start,reference\:file\:user.jobengine.osgi.db_1.0.0.jar@4,reference\:file\:user.jobengine.osgi.server_1.0.0.jar@4,reference\:file\:user.jobengine.osgi.services_1.0.0.jar@4,reference\:file\:user.mediacube.gui_1.0.0.jar@4,reference\:file\:user.mediacube.metadata_1.0.0.jar@4,reference\:file\:user.tsm.client_1.2.0.jar@4 -equinox.use.ds=true -osgi.bundles.defaultStartLevel=4 -osgi.framework=file\:plugins/org.eclipse.osgi_3.11.2.v20161107-1947.jar -osgi.framework.extensions= -eclipse.p2.data.area=@config.dir/../p2 -eclipse.p2.profile=DefaultProfile diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/ArchiveListBuilderStep.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/ArchiveListBuilderStep.class deleted file mode 100644 index 05b95f190bfafa17db46410663a105cca24224c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7315 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 diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/ArchiveMaterialSubmitStep.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/ArchiveMaterialSubmitStep.class deleted file mode 100644 index 0f9078bbbd9eb821186cad42c22996ccaef3b130..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3613 zcmcJR?QAswM&-0w;oOA#1&tKgJ4)G&{I^pq(ue{83c|y5G+f^A~d2`Ck_<@@BGXq{>%AQjr zR-ioFa`Kglk{#p&HER$N_HJf+qCBBD3Nfc#EGkdv7%qFoj5TW&rc_2x+HO(*9-7V! zhg-5jSZ*=ii*=H?69hS z?l09G?YmfVgsmrY!^7u~4U7(*KQ=I)kF!-UXKcqgW(De)b;%cufwP0hb7MnswhLwz z?(%}Oyx{9$b?tm^bZ8{b4xzDjPcBd;Ay%@ynFjzH3Abd0_>qERyLNC?sP9UT36a6_ zq)PB!b{p&x_HM?_h~-*E<(WLh!$Lz*1y#a?yLn`}>Y^%C0wv6JRpVL- zY$r2p`$0Ch!Kt|u<%ywCm)T8roUOQlT~gWf^K0~SdSY4?f~=4jx>!)Nfn9cegZ)Cw zs-{*}goeCbbgiJ`DdE+B_wUFCm*0~lS`^u%|5qr<8qzV_whvq2vCM)STDuF?oW+LQ_!%dFA_d*{$mN0lKS+UhD4tCavsjB+Ca3 zjtE;r@>c?Ha+D7W5#OFyVPfR8djlp>B!OMS7!| z6%6VBz>fsNd6O5hghpQlXS{OJQ@$@mx^n5UI0a!>wIiiG6;wP|O{Uz6PQA4{ug}!-&t|2=Rgy6sByqD739TadgTnzohGDHa%wG3TCJo zyPSE(c2t7n%$j^0PcVxr7*Uh9r5A)9U2D}_qc1@TrN1gBbK1x#s^FAWQgJQ{X9ng| zotLk4rj{2Rr(9ZIa4)5*eW}{G?9|Ni>;CdjJVym8<=ZpL3zVbWzSKacrpfsZx1P4QjI0q-HA4RpF`oAnyw!q9#+*%9(%X`WjNKl&eaqV0qD7 zUUa5Z@Xqx<4e6SO^abJg{|1T{(Lugs@@3s5n{>r`&a#8Sa%ooczxrm-=^`{$p|2Fc ztROj|Vft>L6ZUM98?|02B&Ju2w6J#*i@Uv15L?(N@7C2s-LGqDB#07P*Tih4ZR&T; z1=~?to5Id}UlNyQ@4hB#@m>M_-?UR4{yoLInleHnU#@rsRn4l0 zHhhQl>Aa)^p&p3QuAfCfI|gxt2B3}v?U-xETWDw7nsF2DG_M)AP^a4*P*0rq(1wr% zdJy!-xJCQVN&PH5d=HSI4%kMF7WRg-Ao`tEGt3~NX|($$kF1)-!pW_niCNu1Ctaa& znr<`od!~90+j=kAe27u7!pW<(=+iWQq3)zvRiD-(mJF(J$N}DsSk8r-awI zUH?S%$GqOt8eQU89lzyxe{6p;BF%~BCgV4p7_V<`$&W{pvHW8KpTBFsg7T!IjL3~k= zHxLeUm8d3;hFVd diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/ArchiveRecursive.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/ArchiveRecursive.class deleted file mode 100644 index c02bb531f7ebb2e735e2e7191f4dc5fa46eb96a4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13303 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 diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/BatchRetrieveForkStep.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/BatchRetrieveForkStep.class deleted file mode 100644 index 357fa1dd04af6e57604f52bbededa1cc187bd475..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4989 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 E0MQNwK>z>% diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/CheckLOWRESIntegrity.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/CheckLOWRESIntegrity.class deleted file mode 100644 index a65765299b55f53f99c03420e3c092177aa6f6ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4794 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 c^w0SP7_Yylo}oZVCBvtm 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 TX1>#yG0_RkV&3Q?Qvu*N1zm;_ diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/CleanupMountedLocationStep.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/CleanupMountedLocationStep.class deleted file mode 100644 index fe8f40f91eba7e96d2b09c20a87b98a4755f3ce2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15152 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 diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/Cmd$IResponseCallback.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/Cmd$IResponseCallback.class deleted file mode 100644 index d6c7f28ebe6197962bd7af207f0bf6686db99e27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 266 zcmajZF-yZx6o%pV)SARtK?mn99dz*`xH$%df*@FMzex`v@%EldM14ZGCnLl;yis?GZ5z=YW{Mom@l mW@;I6+G?Sm1OzGSw3CqjCOg$bwy?f8{ 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 ZNAl!;PM^sb3$D1$46Z0!IF2h@{};3&_hA44 diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/CreateArchiveItemStep.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/CreateArchiveItemStep.class deleted file mode 100644 index 54de7ff7079bd33b07c1740cf494fa3898d28748..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3332 zcmai$X?GLn6~}+qk~Kmeh~uyc8)7iTl37$5nih-FV4EbSHX)dpn53m6>0vZRno(v( zEKQemP4_izNmEL9x-aQD0@sJob9zo+|9Wjp{mY=s%8)u zh90DL%qwU?AyM&cTlvEFDbKfaR?RAwRZbr|uC2ch%;%;ek-U&RRIE6z6CM^~ne40( zANNWsMGtEYOkwCjCZ;XdvXyVLj)#ObwhEheg`rIL|2kiT@UTfY3E`nB$5qGc)q?U* zS%r!c`lh_1RhhMXNB?gfCJsfhriii8WIahC9+sUzczo(X*sKa^UNF=pRjh|fcrvrn zK&gda0;tq2sxM!B*jsyL!tv zLi%Lg4V|i*bpoeQQAb?Y3#~{=7+x8}J-pD>J?e)3<$Q|m3>oYYwnkYOy=v8SgPiLH zFIRHMy_x5xo)4W$V6u~4LdsTQbT~04Y|Uh+ie5G66sj%x`M`5?R?W#xjOCLI3+t** z5IC-Vw&Gp%RgfafZi5ja-BHnG4||2RwhG6+N<|fQM#8~N8&FH&b#{MOHJ?JrnY@Sn z&G=hX6Lw^>D^V&Ha+A7GS~B?_9_M`q2ZU`aNU=iF0APNk&$ zBu9kpM=#Y>F;u0&s;1yzQ7aER!QlQqgXg@uTN+Gpm~q_#6T*hoP@dHiPnkT;GeW|u z)s$P(nN4QzD@n_9UTYjP`7l#LGW42Z3F|ZWtK?G*Fs`9^*5m}wHA{atTcK}Bs~$R) z+>{f9`5tC?-r$t5E=qp+#$=Y$Ld;g7&gPyFTkT~qC-ip!Tmziq1zt3HiH|f16BTQ+ z6d`^r#aS$akF8p>NYbRBHM?yUPL`6Cgv^Q>1iJdV2G(HNvCDgX6*SK@3g=904cq$m znx9lw<+xQ<297YiBKCV)yKUH~D6`R^BJ{3gND7ylfwweTT*u3ub1Eu#!V1fQ2JvMf zzX}=J$JKHdM%M2!k?$ekm_aD?-G8eCyI^urGtLa!sBLgr*x6w;j9GzGoEU3XG07`J z+_kDI#U(ze>H8^Rc$J9TINBnBCiJU(*5EV3PzPrdZ4<=gb9`Qi2i658Je}!0b(S1- zk~r-celDd|Q)G&-rN;1eUFIoZmHho$m>8$35o>Ph>i8T&=aWegzwqD3IZXXnas`_ym=2(n_%i4q6gP_y`Z9@Af#8B+R;^B zSXa@z{u#$tfu^!v{wukk7rIIXp}$j=CdTv%F19V7U7bbS7L8!)c0Q?sXb!9%Xmj!l zJ=Wb zVauwIntd8Lwj;yu<1D>+}^{B5KrFq&#{mZ0>03oo{leaX|C_%Y2yZ; zXz=ON*V#8}yhU%?Sl|m?yhZOwgRiEI2H#xZJ2BG6?a|~&Z>hoe)5+V-AMsoKa4wck z%>0=y`nkfJ4A9Rai%}gk%xBmLY#`1?%m}SC{q!@$0EgMiX|`c8h|P9t?BF$qxWZ1Z zvWx3H#!ZGhMw%)m9zg4nN{*RGT~em}_(q=UslnPl;jj z4nO1P#M#W-{DNQ79Yy;qu9LuKKd*2NgR5-g*Zc;9-vSxB|I1+v12H&gaNZzm@T$RC WgEH*6Y%p-v;CFg_{2?OKAO8m@!I`-L diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/CreateMissingLowresStep.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/CreateMissingLowresStep.class deleted file mode 100644 index 34132c3c281b2d0591e1d3591215ccf43cc7dfb5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5707 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 VH;C~q{+I9aJ%~u@`#dK?<_82?TyX#Z diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/DeleteFileStep.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/DeleteFileStep.class deleted file mode 100644 index 06b9d43320d2d424e908477b72c79d35a2d08dff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2436 zcmb`I+jkRH6vls>TqaG2w)O%9N=YfDX@SNIpmeabLJ_b9q)@P^I7tu5q|=$KnJIEv zee)miQQvrC@us2`TrD{etKCCgEHUwQYGm-hoz_4DVHtpau4vej&$sv2=&pqc$8w-6c%N!u-zlqd90 zyIv`8R?T8rdW)|yo{3BhA$7WFTaFcs3$fhroDe_jE~qp+ zY1e2I2Aaj2F&(p{Je>~S5L!wqs3#!|N)8Z%ho-0 zF;Gj!{5F;sFS&)OsN6;qi)+hHU@a+Q`1W+gyl3WZ(<$Yz6e_A17(#mLeo<8e%XNH> z147rj&C4Aj(>P?#@~wicCLPBO%*aU?+9r0r^};@yasuyx(aHdW8i$1bS5p>Vrx8cz zFhfE|Nd>dY_bu0{H_mGc+~}^bz{5HksWeA8rg2mldUectk{ig@86_|1B^Au51z|Yv!q(N z$~BFTg#*n5ArgaGt_um}d9EkS=eE~@Mw@IUe*@AOkgdq@T#7kiZ{wQEu08c?PyMVa zJ;*MZ)v7rf=6p-%6Xu2Zm!{_k7yh4Y!q}e*`?peT+O@}a*$isWMuk>$T|9*0rt`U> z^+Q#*{JLZbGB31L)&xd4xXm#eL`Xa+5BboRM4hlb!>-`4z$SNbT-+1#m zZ;vH1i5I*lj3qP4RmQ(zGF;Dn%i(bS@a7XH#H!8m=yA{NGI1G;IYhjw<+%WekQ!!a_PU>^p(Ot7CDWVuB@ zWe&2)0FM}qXt-9tRD%Xs;WIvus9E6-U$7&>ObSu4Rw%MSoL=srxJ!aT<|t7n$pk%E mRM1!i4iW!{aWoClI3gOh#(>5tjWZ$Am+AbAb_6G?p8GG04~`rF diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/DeleteNEXIOMaterialsStep.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/DeleteNEXIOMaterialsStep.class deleted file mode 100644 index fd1a48549d971b1be801a797eb941ac3ec02a406..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7196 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 diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/DetectMissingLengthStep.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/DetectMissingLengthStep.class deleted file mode 100644 index aead1a6c9b0a056bb18ea9db7dea2ad2d7ca9f5e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5359 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 GBJn>@=>tRn diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/DirMXFValidatorStep.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/DirMXFValidatorStep.class deleted file mode 100644 index 625fa0f04a821c2d9a9ceb0864b376fa4d7e105e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3596 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 diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/DownloadRecordingFromNexioStep$2.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/DownloadRecordingFromNexioStep$2.class deleted file mode 100644 index cb195e9e4071d341450817815c87bba9fd806cf7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1281 zcmbu8-%b-j6vn^PR@N?ytxy5~Rg{Wt5!Vnej3pRTA*m^lP$i02+wDm^xSb(8vz1rz z3A{E@OuX;`jL)QImnQZC(7@GZ&z}9wcfR?~k6+)u19*fb3n{`%q&al=RGVd2NOm=c z0}fqncwf8E)q5Ezud~g*3Ohn}*F)9c{5ftG&m*u`oth zO1Qr2_m$Lc$bDs48x^wKXc^B$dTqecG=(-SIV6mkp3tR-gq7ym71ao1D?$phN_bj6 z52&(3$kbJbvmi`3uyD~v8aW49mPu$(vEX&EZS09WY_CseCWk@j?;54~v<2 zG{WjR^puusgbAG(SMPbU%N;^xIN@<7k9b_G?AVyaH49e>PtI zabm=-jUwhO+#-}tyz~)04sPQPA*6ysTn1n#U*f-CVG@7?N~%*R03ck! z^pGNkl)_^5Gn_-re1Mhyh)m`XH)CFUg!dX#c$4s^6MkXH0}7Z&352@ eu|O7z@v|6@vyce9hcbW+W>LZYL>49T0Q>>zzG$}q diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/DownloadRecordingFromNexioStep.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/DownloadRecordingFromNexioStep.class deleted file mode 100644 index f7985e7033272d6f15c34f99ab9087efa2c77305..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8944 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 E0In_=DF6Tf diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/DuplicateRemoverStep.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/DuplicateRemoverStep.class deleted file mode 100644 index a01b75729854edda4618db3b623b6c36be55a66b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6116 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 Z=%N{UgdThV9R%O+V*nsT!-N?6gAeIhMeP6p diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/FFMpeg.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/FFMpeg.class deleted file mode 100644 index d472219a9a61771e7e21a890971e0c0125f461a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6658 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 diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/FileCopyStep$1.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/FileCopyStep$1.class deleted file mode 100644 index 95108c25f47b68113bcea519b0be218537f7826e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1287 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 diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/ForkDownloadStep.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/ForkDownloadStep.class deleted file mode 100644 index 607d7a6013504ff824db661e448b2a09ca3f199c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10871 zcmb_i3wRXO*?!->&183yY!U)4jTk^Q7s4tcN*2%1_L5D=Z~Oc_JnZb5 z?|kPw-{t+@bC&1-{pjNW7I^{^JjDDFQ!}Dl^?ofgkjiLLQ!}<}M%1*lVKcf?H@2HR{G2&DCa0nH$0_vpqzR2^0mgIZJ!rZNNKbJ5mlk1Y}- zgywvX zCiI~pJ!3`YFw>mTT*E)x>mIY zO$8k|i|`I;77?3dzoqHuF6!DbPEkz4iu?*ARw^CsFbs8PPs+4{=*09O&PKO{bMhjE zxhqp?%~Y@o?<8t7+9fMehL*5&V`tnlGPw{gfFA*u!w1S4R-Cj zB`jf6ermxMu@g~I=P5WJ7Z8;Lnzc&rcZ-;qH?gQ(IPWfs#X`6cs)UP(*<~p{QCLAg z5=3>%JXcLwsmws9nn`GB8>Tl4Q#1uzMCAt(_6y<0K?Nx>eU^d|Y$tqX>Qc?NrCY%c>?EXw zJ~XTv8gWeCskY-g?O_qHSS^4{gqF({T!AZv7TvIjh-*T*eDek&yhd#Hy$Y_zHAMBW zp(ixc6!8#`*^Z`RNO~TjI-Mm4pe!YSZ z;szotAV)LJl%DBTjcuaGHs%AL$BkYsnNmAP`ZY%)7DNL+tl&o6Ml3{eYC{llBG^q-C(8ljI7ek6 zB4rgH6Pc`!WGq5f)9FsvVrgotJWYft!zyjqll1ZCUnEH zF^&j3LUuxmiV^iDoW!zE|+j`Yun>a~0l#j9vbn6BU{SrZ|LfDAUD)=0-M8ML;?ul@|ep9-Q`LQ4l z<53AYLa|f89anHfz(Xiy7R(p=9#il*o^blJQ0Qb&0jmqawl^gvJS95lO+hTd(+a*Q z>Lg_8J^Ce@(W#o6jAse|f~}^W5h7nw@MSzt$XX_8o|_U89fx4~%-$Tt3;3FZuM#It zjh46j+P{I$0 znML_>5Ninom_co4=q<06N~;-!5;j~2K!ZhIDfpty}wfMYy5@? zB(;Q|)QG0Zo#gCqe2e{Up62CoGk@3-X=!7qjNcR0ooePpt5M5{1sX5ALg3@83U0+8 ziF5uN$eU_Y-GDJw*)%1wAW(#pb zsR#0eVWLxl46stcG*%s@LN~|^6KoTLwF>JvjR>g2!&)Xuw3RNBck_frTsy^Dcq#~T zhQebQagL(-4n5^j)NPG2-$B&IE!7ZAtMRfc8n@_%lWsg#;Vd3U_)?iII2GSJc;lQk66U%rD1XHo@6Hzhh%(8<|#zg_~e&)Dp8jw4l50H z$h`!Rd73~mF<=I{gfWTjc^+#6Nspcx5UIJ8s1p@YOkwdRCUZHV@d3RjArRb}ZN{idECu{6=1L`t2bu$!w0#j!l!59Ysp+G$fv_9*P- zYA2Lk_Jt2|e4acOOS$AA;7G+3uI0OkO4B~vcMhtV0WC?K?S^7}Kb>&2FVW}R4!8;g ztI;x=Amtvek-3ggI*i0%YWvgoq@TXWl(~VZD3I9@H*&MYO+;fEu#_y|7_9I-o=*hK zk$#){J>hz4(mlEds95=pM2XhP%`OSJTLTkEx+e}fBX(czRfnf^SKc(4?}RtGw76Vq^zAbZAzt+#N6@)OOhZT z4CbkGK7=j-0l$5MG{}7@I8F5(*RfL{U%W}j;)ET5KwrH!fW|HBCt){ z85b8W0)U(rCZ2T;jb% z!??{A5XR}mLGBgp={{n1M{j3i;cep@NUy~77m<+)+R2f4d;fK2n@NG4YS5ayWky{#SkmT*I8+C z*llr&&E+dh95ZK^sEKR&Q)bb)<>E-lrxboc8~_8FeMXY`MdFw~%`#Hjb}iW`c#L3D z&RgN^XN9x>DDz81<3zcPZn?6JJ4M0C_C2$Gs1G{5*EycbX?3VSsUCk4(K=}lbc`?S zi`~NFuPOYxVA)DqHLYGfnc9-ll7e2msPLQo7E$3|Vy)8!ttg4A?Y-u1!ZUob_-7#t zcAV^76m2FviNWIVLSn__=1tx}3w7u==&tQr#)>s>2=a%#RpO6`*8gClz>=RR{HeeT zxwB(+XID?x3ejtRuJ9LjuMv0o+sF5sw*Sa9A{e)iOiozp%YS28AZmgLpQY=TX&LHp zuVxMENi)db^7j&dN6aZ!O)9fp-=;--?9ldVmbyi?ua*`5fv*ywq2dtnLTO~&nU3;v z)J!t1naB6&`nHkbNhm={NXJbScQgOpOJ~Wc=axc~yKJYLPRCQ07OM{M72?FwEghX$ zcZc~WK}ug&_!YiT9pGzWz7XciV(jkxxZekZ^wq%iv_@70!5FQ}*!`~j}!AK~g94u?S4etD-I#tlEnui6sd%Ejdcp=G)lW+HL zq8-m5h8M9EFJT$Ji!<>{bl^8Q3x7Z-{)8^Pj+J-|XVZgrDtISr(Zd<&WfNAj6>Hdr zwOoikEoVKLfw3;~|7_5a4FijA1RR zBv8T<=PxDnl9aGW!bS<(AR!Knp=D|@TR1NC+)j?6VrpqeX><&;rj~QHV)__rrZ;=2MizUM&> zKOs)@Pxnv5&u_iko%YKo@k+ZCk)Fdex6W&S*OtQ{eDEF+@E4J4|CGgRIsDCwb{h~Q zQtdwqBNeucoW(zL_?H*$!ALMmwug=|uqhHcOnH<_9jmjfnV)4%mi4{%Dx6-&ne!vQ z92@+INOf$?a!$K)gePnoWm9`)q_U395jn?JuRy~(Hb#`NBn zc9^FZN0*7wGs;KL6r&wk&M69Zw&l3Ob+0oTUbwibr8T0A^6XuZ!lx{*YRU4QY#ORxK2n+ExiZ?TBh}BL>IfP()$xK+Uid_$T9|#22a#&qAyOR^Sj%kxDEMH_(gq2K~k;UXLl z6(?X2ZAc-CZCHvS^dW=upyL7<*aB1h>WfP;g3GZ3H)1FD;4&P<6F-8Rc^7WuKHSU)aXSy; z4nBrmd=_`{RqW<#_ypg;9*=~3JQdhmghx*(509RZ4QCXopNB_J$c8R2mh$V&U>AJo zV~#q9;l~!8@>!i`L@1$!Z558uU8Y*0MN4w|$O#3O2R8PNG_7-anY0W3A}~*5-uFWVgzgyDVbtp%rtn!{{nKz62AkVO`4t; z3E1OZCh}>NSFCQ$@k-jY{w%H$1$8xHvk<vMd_3qjtT{5?xR9qxl4_d~*`QH=*M z0|(H62Qd$yK^q=I7Y-thhmpV`+>D2CH$I1Zk;M^=;>$Q}=hFF(humE9;~758Lm(tP z%}1~s9#rE9Kg-X-iy3%?S?+)j^Kc1Ac^H0lp_e&6iU8s`gGYE7WZa8+{5&6nztAL| znU5D{J^{a-4~yU(!xG3MnA}K-0g3Y^Ugvb2H?dK4JO8-1g5QdZXqOPb1V4NL`dW)T zbH1RNtKBZZCwJk50)Rd}KgVZ$@Eus~4z=acq9F2|BjP<^Q{py6(EzVat3+l2pGOTI z!?AcAZFmAvJcX0+1)Pa5VlAGreYyzZ*TKGgeWH(F#$H=nA7|V2r3SP3JodqhlMuEm z#%udSf=8Fo5Do{$vBurvT6hKHK|_nv*Z9@LJiWE#Im>SxC_4x&wha;d1Zd#5vCnR> z4SWgvz;I9;kX-E@@Ytp)Gs6q^K=SQ}&nvV!TXv2WL$)^OjG*wl*bUg``r!$lDb#(B z-*?rW2amnzajjYY;1GYD>!ecrhRGjS_s;kJ^Mj>7}| zC1|hYgJ-4}UjE7s|F8KQo8Nl*M|k;X{)K;w@PF*5H~DXliOnMjdg$?b{D}N7 D+FoUq diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/ForkUploadStep.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/ForkUploadStep.class deleted file mode 100644 index 0ff19c4a8593cc80d645abcb477ef9c61fda417a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10636 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 diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/GenerateMorpheusMetadataStep.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/GenerateMorpheusMetadataStep.class deleted file mode 100644 index cc67ae7f40d2793c77b239087924857d7e231931..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2820 zcmb`JTXPd-7{`B4n|3$L0;PZusghEJ6ovJG0!=*tEl^AVEml1HX7jq;HrWlkn}T)x z3eNZuymGj3#={H;b@Za+jUT}e<2buXq0`3Tg}KSQ&-)zz&*}a1@1K7IPIAj&Kseow zb>u9CH63_`!GM7Lt+q7HPV5?u|W)}n65Rh_81O4NL!TLw8{qM!8Tu$D3k z!;R4MbR>*d!pL(}OSy~MNr`^orT-_FoJz)07R+h4;Rk;5nlM&kwYH?)q+D52E6Qo8z;ou4$Pc{#kJ3AixyxZ~HmjL(AC9-%LE<-c zdGdn|4t8A@tl8VHZY6#g#0F0ZyB`Jd@J1+fl`QzNUu)>IK@cV?6B3U8i|tPRrsX#q zB+=((lX1bSszgV=YRt`8Oz@1sVd3z9f!F2;M>_@8L033Z+7M9}^2x2FZA|j4!7-uu zI2>)BZ6$2Y1K;j7Z)3~mkd|DyE3(BNfZ-=o^-pnb0GH|jdFIK>%*)56GR z4x1^`W?E5=w!Zq=rkr)Fu!lX1lf0UC^J~K1UTI!1c|*vZxZP}|yytArGb0SER!awU z;dn2hEdX@`$jn`^xyU8KOv3d7+f&*qQnt8E#o$fhXum|y#%>rT7yO2fZK_-mcDa$> zFv+ttpXuS|7B72HCKtAGjkgWn5)Sqo$Jr>J=el6JDsdP6z!Uaww0eCp3U8(JG*i03 z4TE=u@!qkeBd0qHY~JI2VZ_tPypGdauBvD`-7$R!eTS)R@}Y3?l3!CrRa{?g#pSi{ z;?e6WmCfyhIAB#k#MQ>?>ngLT3`IvOLjppo84I^9Qkh>LKtaw_xOxn z@m)PPlPa};GhG3>?xT2a`Fk32)Z-r4^7)?}^h1q!vTvN%SkY8Hg2Ew7u z!=wAA*sw7KYw2Mwg^4~A>l;MK1(_>`8wQCE5<#@EcS8UVcSc#*KA$LexvE;-MQzQ8 z?a0+>O9!S5VqhZVfujiN&$y5E6C*zW1B?R0*~NBtXOvXI zo`*sXlHCp+yT{(mB6cQXcNo~m{!F;QlMHeI$RUjJbl1c|Nd1sw46_YT&yE)Fa%d`F zFdk46ju&!;p+f$-`<$4v3d6r}^1VX-KCj$kdi3?XoW09z!Me}fx0I&xKQdCtKj7*B z>B)S+JHqG(h5TJUdcdbS3i;pV`^>RZOfkk_7U>~OU^gav7-KJ|c!Fv6ae@7ONP$l{ zkcG60ojTYJDLvKEnKs2|cnoB;MZ64fg^x!rqb=bvl%1CGvLq-PG%+$-K!}NnLko{Q eV;tZn9v0I~5D}9nNmInYs=?S{gm#vcm45(Pa3Y8R diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/GenericArchiveCheckerStep.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/GenericArchiveCheckerStep.class deleted file mode 100644 index 710ad195c51586c6cbc5aa37e497c18e53eaadea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5875 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 diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/HSMMigrateStep$1.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/HSMMigrateStep$1.class deleted file mode 100644 index 7cde1b7b03ac256cdeb10d67dd74d0aef3c70244..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 728 zcmb7>y>1gh6otQQJKoqVu}KKOfuwNZI98TOG{^`kvOpl&P#C$PTCcC1G4^aUvm5a; zh-aVxBnlpYheBu#1xPNEZsy!M=juE2^Vjzuz+(;qNY{l%Q9CnMBd_j4UF0)8 z_tDGIaA;;O&UBRNdFv#gBJ8akNxEF7)<;8~nz)}&bQrt$>V#@`W_;_B&>dVpx+heh z8f&s=!fE>|#=$(kh@(YpXVEBg#?E?&W1-Sdr&>d}7P3LLPMPZ=0b4@3eK@WoG(&E% zE!4ecqkJ;gBolVq>+>1|WA$~uoTz&nPZla{57H!FjALht`(LqAunWgm0BD``g!(AW zU7{~ck-YPN>&FG4(0Fc>Me2>64K+JUrvdkc&gB~pdB8&<&<~pAnF>$Vpss;`_mB2w z)lyFgUsn+P@Fl+tS6=p22a-uXt@>3*g087Q#>Z2hsb k!AEL*;wBKTLK^IH3n+7Y_4*EXfeQE7V;?9!vRDTE2CzfG+yDRo diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/HSMMigrateStep.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/HSMMigrateStep.class deleted file mode 100644 index ccab870f2e6fe1af686d81c91b7e00da3d1de8f1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16235 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 diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/HarrisMissingMaterialCheckerStep.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/HarrisMissingMaterialCheckerStep.class deleted file mode 100644 index 1b320871ef862a01862a6f2f5c7d9359a4a1e7bc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9232 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 diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/ImportMORPHEUSMissingMaterialsStep.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/ImportMORPHEUSMissingMaterialsStep.class deleted file mode 100644 index 09b45d83a9c139f06cbb7eeab1666051bacad502..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14019 zcmcIr3wRu5xqiRN?#^U)lC()%x0wmtKNNTG%!v9N zQ>-GORunBB6+uLcXhB7Rwz*IWJx0p$db}NxBi@f!)T18npgqqwv%8s1la}K-r%#?| zX8-yA@Bi+%nSTE7Pdx)*g|tD2L|8p&3#)0T*(Z#YZipsZSi6PQWIG~jH+5vPrsZ^P zx_a}*bz2i%x^3%5s!MZ(rE6(B;fSn^0AbOYa9nBjF(4t7Hd85K5f*fsR;o$MYW)ME zi5GPv#n%-(n>t;PI6-bp^xU}ank|IN&YjwBttqV;siuTu=|(C}C~Gqf+tCcCM@tV1 z1rb7^vESZJkh`u~&l?q#^IF$6>j@=E%_PJ+Cy|-#Yw8k7U0biGMSIJpIH4kInf=1H zMRL8FPBN`hvX5|HXTOH_J)P_lj+WFMtxL-iF3S;Q=w{OnJuRBp%;MLcPGyac%r1?wh1c!r7gPFp=!d93Qq{72|Zf2?4ebLX}?*h1eLf zgguyc*cT^6?U{ta`#d4e@I7>yBFriF)S+zNTUYvEyR_G=Zo*>UMm}T;Ls`ucQ0x)? zgN`5^nAZRN@!!K*v@$8Q`vUDcH?PId0FjH=@fyE4b7n<|<{tOxw%(T(Erww_uG(zE zvT3k-KF?`yo#9wRZiL*WVm9Wm5oS~vFbNS`I4wr9Z9w$zB3%3b#(GVUjGOcR@5V9L zuUH{rWKk!>$$OnoreW;H9vQdfHx}8Ttzrm!2_-4v5aLsi?w4iGG;<-U2vIzY*W(Q` z_MLVNJAtj@jkt|aX^30ebxZU+rZtpsETLrxmrUualMk7+Egr$`xKqX*gn6!a6sVa5 zsN&6d3qjExVQG$O5$06;V{AumJs!b++$G~}gvtqb%Rg1|cD#cSFvK2*Fe{J26?4wQ zWV|!KwLl9ye*_2cZW;Fw$|vx$&Q$yp-a{zSl1ajBzv%O!a68lVJ{9-k{RDYHv%B5n zOR8(Ov;Ez#;sbbqFe6v(@M#^6$k>Fc96B%CaTu-XVTnDc;zO862==ElTLvui7EbXh9>zxrWm+LTyUlu#jQ_1&X|>c z&FLS|jZ_4m#HVCDMp!Vt|L5FS#i#K&VMa@7UE-vxTSmJmiCMx(+Ixi+8-IGQFoYwTW4G=LV=a!TIErCH zI3=7eVcS|tOg4s`i$rh;qbkPm6d@=qi|uY>_4E~3j=U)XqH8mLJL8(L%r*zDe$kfb z@zP7_PBRxD2@9u*Wn8T0Vkn`MYY^UR6DpFEJ@NwY)PfmLaw$$+S+`0iL743$u~3i1 z2}`~8f(7PsMgb|G?q-ck&V1Um`^plI*1xMu%eu9wjDI1-rZ*ptb;68{xm#?`w+C&B z9>O_O2cRAqU(9=kZZ>snDsUIU-T1PKf5lh4B73vuRr-an`g^h|^+ z&wo=f6G|8_;6)kVA}pJld@l>Fv-?fU$wkwD$F~U;!mtM|v9-G`-{nkS_WBZnn@7Gw zIA_ANJd#?uY86%(FQJZU{=SMIFpH6taL?`5GJ+reNX38P$6Ux|v%*Lc8vG$4AG~~K zQG`CO;HLy?WK2J2Ouv|fAm>8UBVd93QpK#>#|+YP@9<@+T>Q(oWcG}#qaS4LV&G=&^x7NOtM$kkaKBr3bc7f3XfcPg2FDy zA|*s}0i1iT$z^d)8a`+83R6O7QTaS2+!S@1Pc0J#Jtv1(@HZK+63QmBRF{_J`rz+` zrDxG_J_i!=je%=$xf8-TMUqM-6yQXhYxdp#wj)d-Qe=_|i>B$#uNoBAP|h?}Dy1+X zXgiwaaF)@yqhg5Wdbw_zJ$ZiO3Y|+RTXc&lIbWrDG@ok@cH55X zYtM@0wF$TsL@^bWs8VPlVP?jgFx{BRkC?)=n3l@4gboZn6@`|>%N$t zeD0pCX*hkF(WuZ0g5u5kL^4cGv{I!@=`wl}>2=Z>8SZ>;J_Sl%S*)U$BP0Y>aN!5Pdrg<1e zSF4x>MW!vMC8|!{*i}eW)T7cix`q%Edvx2e3CpKURg=@w1d=#+7kATkm9C}h2qDMh z(t+q%WWbOYTa(~ShxHIv-BN*eX?FjyEV9+;L?*IcPklCW?J6YdkS-I@_| z#)s3+Zqdm0wL_&io>FLl5K1_jGiWQclOQKv*Rgr?x^|XDT15qBgvp?+OeSIer1EIe z+*hTW$s(vJ;j|8IGzV?bk)*R4yxSZ_aDW_@201|mY<;g#=oUg_F(-z|#2hU>elR_t zIpc@f0X3_CVEnP&gBj2Lh6s_Z-7P&W9i1($o$D03b+SkIjUP_OL~6(we>BbF=<7QR z%6$Z-YisA0j?Ikkjf93`qB0_NCYo5%Z&K-Y?n45)vBOm8PD1$Vb%`yTu4WpU^S5wP zdFyGFQz56njd0!>M6b}>d0fvEc+Q&p>28(Y$+qFONxYm4(*b(7Oob-cb;eH9NU=Bl z6ZflE`aO`JxZ(S~D!q^HC4_Xt7M$`o{4av?HcNNJ)$UM@TcAvCK5O%^-W%`{N_pbH zh4UprN#+K7gm6BSb+i+LjyK{9-pr*5zXzEnzUM^}Ynb{<6x0?>93U z)3BR5))|iO47F;uaEHS;5Tdz?cG9aRx82G&Da8fxq$AumH$RU$Bjgk{?rI*~(&GfG z=aBuRN{8tPmyOx9?v{mzI$55Ihe~& zpHb;qI^oR%H(O?krzM0ybqBZW!L)7&n?O1t!1ohxsJI#6nGNGOsnRFuF~0j36`#ZB z75Y3O(ZXpy|LQI_elVRjGvf!1p;*S;o6>l6q3trQ*Z|Koobh4H8GqDpipCiH$Un+x zau zqT7W*0;}a)D!s@QL>#lzyhT`TnwMd}t

M9fHDRm~A>Im!j!dUSr!8`W_*;b<6sO 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 K^B4X`_kRH2X=Eb+ diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/MVCancelableStep$1.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/MVCancelableStep$1.class deleted file mode 100644 index a2659d1872bdfa417d42eb5dcdd1c9a0d1fabdf3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 834 zcmb7>PiqrV6vcnHiHV7$iPhHsS|N+tN~Qq?q2eY~D5NU1WaXlh$t9UEc@y4y$@g+0 zf(t)@A4+7N0a09-<=nZy^UgW<`;V{RfEPTivn6zwPHj9ZMrtOR(b%b7sg0f2g^SOI z{lui2C!<`?y)HVvI#r=POIAsoCuS1AAI&uNb!tK!l+t28FN}+=&I_;37gpob54MoSgi*+IWX<{Zi77o`r z{#D-}?S%vtU3uZZ5utfrEN!Z9vog%i-)HTX_Y_(uCd~_%naP>@X)&(zNO-=bwx08l$$KC(fy3521o^1!=d-{(&u^K@;H`@QST4X&xMYCOY`SjZb0c zCeRFjO8O()K!k+pEp7wC4!diWmup@54cEf*WdL{ALchQgy~EvL?Op)y^8l#wkjLzW ICnV6oPmaphF#rGn diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/MVCancelableStep$2.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/MVCancelableStep$2.class deleted file mode 100644 index 2477f6e927b7ed1bc3de64db6632ecd6720db2fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 995 zcmb7?O-~b16o#MER>qb=DwGeu5Vc}kkU`?Y1mmW`#H7fgqziV_ax8=G9WwW}|HWV6 z+C(vN;ScafshOb*Vl<|!n|toLZ=Ux(=f}@)-+||BdE|uck<}zPi@R$2kaIsYD4&JnFc^fU9~^eiwC6l#gr}KOFCGqKV}nG8u~X~f zM1wbN7rK$%AFFY#$T~He2s7?9veg}7yEP5No-p$=GLd^FJgZIjwcZg5&G~9~O$P^5$~ z3%nqgRZ5M`FZhkG-1wCB+yqM5OZvOZ0^lQAb&(1nEU`RMi6$zQ&BkZ^3syeh1vNutM(8W9?T8;~^ev>A9BL*~kE&Py-6AQfD*6 Ik_->{4ObQV7ytkO diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/MVCancelableStep.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/MVCancelableStep.class deleted file mode 100644 index 0d9d9afb475c03182e7a796509e514029c9e191e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8079 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 diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/MXFCutterStep$1.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/MXFCutterStep$1.class deleted file mode 100644 index 8e7c112e17ad0bdf89c67c7142de8294abbc6681..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1325 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 J5;fzie*w7`W&Z#G diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/MergeStep.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/MergeStep.class deleted file mode 100644 index f86e9ffb247300623d44290e77c9566c0e115a2e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1030 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 OT?(&d&I+nBzWD?9Yb^x; diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/MetadataTypeDetector.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/MetadataTypeDetector.class deleted file mode 100644 index affbeb6394c7251f9dd8eefb00f6e2962e396c83..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2084 zcmb7^Usn@X6vclx2_%8hNCb>Q{8LdO5u#|d7K@EZfV2rolRyQEb{MWO8fNIs#HGvS z2k~3bK4@1T`q+m)^b>V;b=^tOP_RqqY4+V`pMB1~=iWd6`R#Y$CPtWm;9AR-PUeZd zA+0Ubk{MSz&!m%aJ-O><%F@#}bx&`+*p+$dNyD?9Fd@N-C;Brz)6}i4Ol9MVG(17? z!b)|auqcR^-jj9DF|Dl`!Lgiext?x$%X+gVBSZyaQV`5n8WA*sm=Yvvh55pR>Z3+2 zJ2zL%m9vdPt(Ywp^ATc#;fLjy*I%t&o4m9B^46=h?BweD%j>Vk1o4BiY+ecCN>Dpm zFmzB*tyRhur5RG1>i=shxkjbBRIfKGwH2jF2qF*tqS9l6kxu4LRJD}N6&5O`e4(ad zM+C7>?4x&*u@6d?3$=Q&vRLr@IV(sU)K0dy;)dFS-n*t{db5Jy_{6dxl(RQwA3-i^ zoa4M8Rx&NQ*xK2UPD9^lN_9xKp*NRx$5gnp81lAFS1?`r)R~wO49vHr>vj)}V0QfQ zC`^2G@|ix;Ooq8CxM(|D8GTnbwq?e!cXn*cZ4Y02zLq?*>1s@o5rj?mep9!e3Wkny zUyX8|8)2pe;~(3l#!WsKgy*Ft9n%n`KBb4-+zIo=fh*IlTH{N<;2qsFwxz2IyQ}e) zvWhhv{qbYdDC?edOuebNdm3LWPU~=0$KJ6OabF{+h-in%=GAIJW6lq+7@ob`a_gS$ zyimk~Mo|&*4pD9DhTOKBo6->k%uT_ux~CgY%ld9-ECxKMWf{6B3(q}ixu$IiE+4hI zhflkY+f+2Fd?$z)w&m%jm@QzSXvg_9&X(}hO~A=E2@-~y0AAb_6KTR!{QFKG;X z0rYSQ(Aoi9<_ZvHoQaP3F9JTdp8A#4Yr?;9Z7&r+{)SsVnAuCk2lv73UMfDY53+ly z_^Ex6-%G`l`(S=A6(4;MR7N1^7d1-^h!f@{{R}e55DA94z$q?~V2aaBlVpYw?s0|% zMk#TYCC;(J`L1Tx`G#KLTfd=jzvh2LDN*k9_LL9-U^G=q|3M-h?|;MMYhvl3|66;* zaw+}3wm2bRi~yI2ahVaW_R9_W%F@ diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/NEXIO1TransferFromStep.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/NEXIO1TransferFromStep.class deleted file mode 100644 index f675d484be56b9ea156e9270ec5bca80d5e84705..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2037 zcmbW1ds7o<6vltYB)cK3irj3F)=(@2ylhoUTh`iAg=!l>34&s6yTsRZG3+w$ZWx_T zKS)1;|F(4owKMGp=y&R6b`v1pXs7uj**xz#&pFT8=e&RX_3Q7z1mBq)5Y9CsrS0`_ zO$DAGC_7SmOKCfb)n;VR&)mGaaCS+%L3B^)SsiXvW3_3L70UbN?PMg;f>94WPibMO z5^B$OH{IHOWhbB?c**a?x?M>_93g+9R`&xxz9?kMW6MJJQg~Mt=;WY@B@FLJG3N%Z zr?kZ(4htQgikrN`aCz)si+3O#vB+Tvhbw-d<{KMpN-w!~>r7!rHp3#g0&zd011Mu^$GJ$=gEDUV+^cp}5!xVt+#|`;os^ zSJOcd#%`Jqkz3A%;!f75dWYysXXQ1n&v?IBY5t`pTBQ!&$@@Zg z+QAE_7UwuG7;!l3C$8x#w>bRJP7tTS2YhHUDOhQC3%B@)j|D?L^rJXRy}w#Oa4atH zNz==7u6~fL(Y{`8203{?6^3p^e&Cfhwc7H-MpS=P(kj;embzO?=2H6phfb!sWb(Oi ze80U)cj_`TLe>xNg~FBco42Xe!K(vqLt5S&TTV9T3yUHH1qQil@g-jg1y99uDvDfB z3B5ZbY`1*U_?*Q&3qnq59cp3n|1_0cF^8hCp=)Yq!-S)6*r?sm7B7ZdceERQ)ce)81mV)iMsQ@O|VPZ_O{ zqOr}D=TtHjb3dh%nC3ErWKxME=>(3Dp@)8Y8K#f(^fSp(rYSPZ04ofpdKSqi-L>>2 zPuIAfYFuTJDhE<*iR8tqm9~Es1^#A|> diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/NEXIO1TransferToStep.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/NEXIO1TransferToStep.class deleted file mode 100644 index ea985122349f1d965c9f054cb207d55aa7d82b6c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1070 zcma)4+iuf95IxgeoEkTUwop>8A(STNVnBIwg@jO%kW4Ezp+bU}jTzjHoOQI`ROPQg zJQVT32k=n{d6PD%DgnQ&eCAwcX7}f>?>_*vvFTur@OYH5_WNm%RV)?z8S6vVer9-> z`8(ThU+q5WYN4`^th;H)@X$e#(43_@;pc2ZIZ5M~HK87+I`+j-L}=X4Qwl;KLz=g>KYbkvTx9op%F|a$nRzC;%X= z(=@WvmXlr diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/NEXIO2TransferFromStep.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/NEXIO2TransferFromStep.class deleted file mode 100644 index 50d71575b24a482c15f7549c6e3d4a36d9e9fdf7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2037 zcmbW1ds7o<6vlstB)c)Jirj3FRwxz%UbaO_Tb9~Vg=!l>je=rryTsRJG3+w$ZWx_T zKS)1;|MoJ2+L`tP^gH!3y9p3)X{Y%k**xz#&pFT8=e&RX_3Q7z6yKV32$S_lX?rtV zSApjT%8r!YQQD4TwH?_@^S7=nPu|dO5ZzaLL5EwFSZ$kRg;Kk`y^JJUFlwRaDJ=|_ zL+#n_wp-m$b^`i=m;6p`+T}FF5%ROunjiS_1tC)!UlFnw!+WYgCx=ZeVWb_!q8qrL z(iTTJDjf1u+~5^PO5^`p{1C!1iyVej&J1xn}>zk??J3?XpVO4F%ei%e1ZwfsJ1@=#b;`MqE`&(+okNowT znhSz3cGDzbtgYC@1@l3yA2|hv88LZV=u4;bqBe_Dyd&h}u%S%oE3J*U^xPC|GA48# zwAp|QjC0y#VoyQfhxUEHrtGV3yb)QP;jEDHR4h29mq}Y^)2!1h{Tz|giOqW^?+V>% z2hW{aOmbc@;&8!FT+>x*a`>U0AWnhz`M_jau+r=%Zt)=>35I&;M{$&Tf31MvSj_Tq z!^?}VevqtDTQ4_)oIIZh!#5*8@P@Xv+VR7BRC_d}RjmCTb#Ew{%g}eixx{P3pu5AsDZxAZ!8$X@*u&y%q~St+qQ@$p%5gL%od>&-u&|LkxB6hw-A?Z* zlU1QmNkuj&PrUj9I+ti+7$E})1Ic9wWXNNZM>qtGAtWF3DTQC?`U&Wu8!*xXi=Gro z2zvLEY$QF+O+2CR#gxu8#cBj_oHx?sA_HVN0b~&dd8=9CBqV*v5IIa>O=fauv%3ss ze`EA^rkJffr8Hv{jc1$_cA5Ht{-5cZ*kz{sLV|vpW6;LAcC(|Z(P3*rp YjA0@s!zQD9-**#Wup8m)^i_QG4<&{Q_y7O^ diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/NEXIO2TransferToStep.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/NEXIO2TransferToStep.class deleted file mode 100644 index 74c2751fa77a63b0662344c2efb2cfae8f2adce9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1070 zcma)4+iuf95IvKdQ z;P5erBg2HKIo5~CV34TP>zG9I8!i2yFOGy43l(`Cqos=c|0cHH{UP4(^*J;?!EGOh zJTx*DYm07^FLa4nSDI*7bAXC|k`I%CQ5mrQK%pEm*18rsWCqLWLMg=vj6RK%4 z(jlLYMOgdG7*pyC8S|bP*qfNOIN1TAYJ`s1%nT>MOy+iMWCjpw=iR`g%oiIV_ly0v}-x}ggM diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/NEXIOArchiveCheckerStep.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/NEXIOArchiveCheckerStep.class deleted file mode 100644 index 5ca56df8641b3abfa82d9234ff660107cc21f9bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9305 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 b_kM%N4IVW3roqDkow0w?gvd#nh9vVJmKUd2 diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/OctopusDataMiner.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/OctopusDataMiner.class deleted file mode 100644 index 53bffb1c6cc61ef3a9ed3cc6f3c4e5dded77cedc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25313 zcmch93wRXO+5hi7v%53dOhQN?ut8!3BCy#IS1(sxzEF`;Ocf(br zh}U{oYz4fwYP8x`5jKfv)wbT+YQ3~tTia@@w)SHEY_%6q{?B`6W-|#1P`~f__vypV zIdkS*-uL(3PyEprkADxqH05d)f)MD48PTHkk#$D6ITSXEVn%e65iN?vjrLg4(uR1X zy(3l@j0dYiVI!)-MaWnm+!QQo4ThVGmabcGG{gyd)zX?ZrSofQmzOT6C1h6i4ylPp zL*eEULfV2zI2I3v<12%$9fpP!LfV|RNUU^SEFKLu#OD$+oYSl+uP)P|6Vm4t^&RGE zjWjnKQNkIOk!W*Kuszt&Via*_DBR4y)7BSN${{5Lt#tW<#T6^d%QOrnXu)VhOK6kP zNboGIsH`ntu3;F#(-dlr^Nd<$MRobYavnW`Akw^qAvG0M%PPy)^uEa zwjk2l(H4#c7C2gyT7&D1*1lbvnDBw9(H@D$jc6>eB4$J31dTzfmmxtb1YEP+R;2o61AeyY_vyWp?D|~CS*D&T)%K>Wf^mIA|a#y zb_t`7AL>{!K*-`1fUiDr+^&C3vDntfQ4>(Zr)ohf+eSJjlXGYa>J4U0y9=U&fDN6ZH!#sw-+1 zGwK%+w1uH?DAvLWGJ0ixvlCEj0#zlTs6E4hQ2MQG<|w{D?UYWmXvpHA%uMwEZ;dAAhBHnWN{Ht{LS`CsQSR+9GT@+DzHrBu%ik+!x-mx^hEZ<*yT(hzK28H|RwZFPF)$OCwxV7HE4 z*r?)i!ca+lrzCiB8FushSLs-ZI)3`9j#cK!TXPz1&y|@lH@_IKBvL_tR z?23sid5K$eti~EIZpGJCe2tLPXLg%^E8?Nnn2y`9myq5NHG*-&ens$2sHmuzI1tx) zf&DtxV*@|kp(BEj7kA+v6?YRx_gTu+N7a#<^D3>?zJYHNyv;^jc9zX2jGi!YFc~SE zFIT%y$1*x1PG!HWm+kcw~hai?mw#^Oesj)(DWLTa-S zUlxtD8`1by!kJDIT0WI^X6cDpT^hbi$QgKLJ}%SYQ607LXn2f}JMhT%U@W#d5^dzs zhjgrfM@1K5I)nXGH1YzerssEr*y4DRz;6EMaUF;81i`(IUl68PLU8IcmU!_!Jgwp> z!leIhFFKyV_X(c3WnC5xNX}E8v)AIN_#t8H$-a{cw6r7MVua(Nh9G+_Ui<*hv3NXB z7(c*f90Fr=du1wK#E(_{h;Y`)Ry@u&>i7v>B4|;gnGI8v`jWuXz@}C@6^8VZfI;$8 z9m`QeaK&3fF~TI%Y9+yS;-I30;0?BiN=?BacuXr#n0(3%F#%UX$O<+#+J@0Kt%PYO zFryXr@IL0a#MDl|&~YIyQt?Z|SXP)PG2mXjh21KCO(^Q4TbyQl;Pv>+-|Bb=?-GB3#H;?e4^ri2O7&nMZZ85|YZ4F-#M5xh=BLtm@1R=E{5{?H$;n=yx zR>E*6;B0-c$_pZwPHyrLGB$P?QK#QWSbH+cSrZMQ&Q5|O>qFkJrc(+B+^Y1TIQ;0d zS6e?W(MTt#?3{*-m=||Zx{kln5WqyLsU;I*p}q1f{(rPM9?SAkX_mk?+CV9NxNVh$B22`cd)e9>2yBT6I`*-HbVx1 z6<)f4E>h`2+r~&0P!WzB9P80ATFvU-4oI9YIU8xwBu3EfM-xA))g)wDPf6Z~nD;4G zFLT(%yC=9CT8&^dg_2x_=!I+V>Ds64$DA}>yUaFQ%T$M_@@Cnn4{LkH)XToYC?SiI$18jN<9tC&jn5VGXVl7PuKDIof$juwQN{P*c}KXnq^TthJi z@r+ioGJH^{Z_z`R{F=!+NrbTj%5U$H*nj6WzpbMYL4NwKjwbWzQ60?)^6Zc4bdU}a zhD%i|L;vMQQ*So#1k&mZ9C)fOow|9dVST2uEHt0_ah(p+69lax7;k8i`RI|(L)5lJ zBbzw`W=3)JJsquRb3+;%J2=lYROKc=4$JR6LyHJsocYCH5veZm`gS*IOz34xfG4rxiUzl4x(Y>^eS z1(9&v;B02`$#$6(onAayDoUfD5uni<9K3IBm-hJ=I=#giD9%`#!@RVgex=jfYzeiN zV626+pc?&#ptMC|{PrE4-sPCWV{GgQw#GF2Jx^$CiL3NJVMPCR?c5OUr$4aG{9`|F zVDJrl={@=rJDr^x{e|GlkLAk^e5BLg=ws>qw6_KuOr_VywY5%sJPn+#tu=@@_K8k^ zr+;w$MV93TR&f_NraSSbKVv`lpZx-RYq{fhU=c_j_uo4GhmH`mc*GpvKN_@V(dcv5 zdos_>;m6b7=t7a6a41&Z)*j!g2{%F6($?z5T|(7`CQ`Ui8nf4` zJVkUlC^6`vB z!$meBCDy@pWT_0YCnWR1PMfKTkpz`vULzd$f<%r^uhMHQ^s>sD6sMGA0hZuukHpS0 zf2I)9LgBCxwFbrrnL+6|RycYIBW>|?lw&PxI$&rsh?VIRz7K$q5>1Sg^%6%3SQBRw z+_Ln`#G9ati42_7c%(A2*@!L(#tcmq5Zp3KC28+E+AQOzJFCf@9WafAX&HUip_Uu1 z#-?C6UbVEwgnLW|Y^QjJ6AzQRR1;GO-XsTDJBw+$m@Z~eauYR@UsZOQT$-_&r-)KZ z)TGj7)24}81b15`R?(=5VnRxF`S}$~Csi%2(Zn2rJF;$lMWa{D74uYa4q>wNu?NX) zRvGbNV=x}%Fssan8x8SDR2QXUK4Ivh4kH$G4j{~R8m*+roazE4DWXg)R7E*q!l{0v zi$!8FA=3&8ma(F2vFgJ9Q(xID%IF;UmDVUXfuYtp-HV3f@(@pJTv(@QDTa-OsJ#j2M%)+$^ zDNC|7aX!IgY6VTKBDmH?8n>q6W2*Dgd)V!z_rwr_h^-^|j+@t3-2{z4tB4zI?5mi1 zCq}sF%OUj?kHpk()P=!BRYNgJQB5=xTn(+Ec7hUFx1KPxDHJvOWWG~CVuOw_J4)Ay zHeG~S?OH`BS<&YHc3o@~QBG~h;*{)X@3lg@Kq9V-kmw*3oFL)eXVnt+dNsS~t%)s! zVfKJLzD?3>H0H%4c}($bIt9db!fAbjYm>b;(KWGyK>4Y(MC{bXSEOs)XsqjK_TnvZ zsV;Vl%Lqd_k=Um`KYYT(0W5hc-WFHr;z~Z!5POq+x22gcM<~XoI0sACM0~$sfH?>h zQpH#M)mxI%-p9{&vRLK|9oVv*i@BV2V+2OUjk>r=+)Qvag*a_y3<@jT_zzm(PYxI~ zwkn&ypd%WKL`%G44^39Zt%TDDQRenguh=8Lu8Z5mUV<8rlt!b$t%S@zUa!>nUa?=? zp^DoH*?kfi{L)epcZ$0hz(G#5O&BbYb=mpa1?kFdhqQO(>IF|lr?;<$SorrLe&6jkct<@cXaVxE_k}ygYg#bcvKe$#A5`nTyj}38f+u18erW4 zApB*jg1qJ-T_i*oL5&(4I}GOCM2q{Ua0t;O4y)pELOzSgNk7oV6XHpNr^N`$TTUk- zX&+bpq?4Br#-AebHSshdYoQTuXtC0X=1n0ET*db}SJKHI%@1|)EXTM*B|D_qv;tgB zJWm)Qd+bjg8A-~eI!*kDFxp(goZMQeH}A_!{6xq5_<+^=%Q_km)Wj=-=KqZ z@uB#W3=e~i<>7dUFID6_@o&~xospOY60i7+_(&ChC5#$C#Fx}8t!6Eyi@%AFxhfQk zgli*Z>&%a3!Bpyahu?D|HEXS@iBAZ*7J)hAwtYulD3%wF#Pfoif}vK$FaAJFv zlS0-@Sqb{LrVt?`*xuf1-Eok&`@D*xxK+i~pEu@BK9du=;!#x29awxRb@Iic$Us!= zb3o^WC8?rENzoOrl4{0oy=AU`!ftNBVtevkUv%LvB~4e-l_4@LHZQ^vR)2X*GMK4w zX2NV$Ej0ma&Lt=N%!ZDVMevylWMI@N!x=T>lQp9+@n*TUlZT*;)rsFPGglZ z{i>kHhYa?%95A%HIHzDn$^_js@U@YeAeSg)ZPCsqG7nGn?3yxxFq|3Ew~of8G{sLy z?|bh$m6j+0_I7Xdf|NeC14js?bFU8~OI*C)}*ml?-JlKUM3> zQsqp7mn*DhK37xDBV<>F%=%`iF)w7>H?9^QQEGIhmNTd6@yN2M5sz;*fut!b84Qj~ z{F-t;Pi*zna&m6&p- zs%#@<%R6q7#$ZuA)MiL7GOE1FR^?(HyObUM@&vYouH+FrSq5hCrSmvJSnc+NU80xsLYf z$iW$o_88<~oTHtO9E^9gCm;uYN4o$yD0H+ZAqSHk?X!@BsgCwEy9PN3?!F)%10di38XfH$#7CYJ%$icaeb|rH7%Cw~UGMp!Wm!n4h*1{uy zS6II*Q3t~LvacS3FF^NcU(m08Auf_*S7VL*U5j9H{5lBsy!*5p9c=@GD{0C1+-~mI zZb3-SyB-_lZ!6m5Z`k^c$oFSJLpwHt5Ct$91pc4ijo4$@nz{Wk?08guwG)6B0zd&g zD8*M~FF<@T-1_^V?|6yEK--Rm<;mY2}t9u`>@gK%@^?s!bHypyv{-Nr- z8L4VF_8h`Kzj6q-`@3=HA>5mJe>Wbe^k;sj8xI`9BmT?-^5NiNBtV9{=aV{>v zdAJa(a1k1?7GVT&4c5ui=9y>1D|i*ac__ha5-DNi;&uEC0)(IA4T}~{P$acR`w!yH z=aKF|jJN8$@T)_3lY27XE=b@vyg5aZHWMxY22?a56U{gcEppLpa}sM&U^IS*--Ga; z{E{*uI97wOaQ6r1qWC>hFciSC!}w!;7yeXL(2YM=7xv(9gkpCme&ciZ;8ViWI8yBL zxt_yIK3C@F2^`x8PbZ%C`&^j?U8EFye4fnD6Qs^meV!~z?WVNi6kp2oJZQiFAg<0< zyD1|<*>&ETUSEnieOf0vd}+z)b)Rldk?uc;E3?zB4+8S3heirKO}WJxzKrLQbC`1L zyC|U?QER7BW!>`I^8 zdddwv0>CAyyBZ?^Y=DMVq@fMt5XMwQFazzFhmEK}6g7z9e8h19HlYPuumM}K8{2R# zF2-J5f(Nk^-@#YVgu01}?&TC6g>?$*1CDsQ8R`KDuwW ziX-yH7Z|7Fh)c!C$1n=I^GkDx_10z2Q-$=w2brI^RLbQg$DYc3DSh{4E(5`dfWE+2 zs^DSZQ`Nx0r$9g8(0~D~rk!w6KRN6tFDhcTsgeSvb!r3vc)j;+mu^ z*n*JSi93C%NkQ=XyjfIZ%h+XRi`1FAlnXs67yOizi*#SQLoU(-@~to3k_&GZP2eep zm`^yi7io^p^y9^5h(lshEjd{&PhHE~NYKh|S|!hIi_sUaIK*fZMg#aNG+cu;T#IqI z4pVVGX5dCt;3m}I7F>uuXu_@7fUhBp+prz`a0~Y1PTY=ra0ed3UFgO=cmdzQOZX<< zz`b}6_v0gU;@^0H6g)^{u#WlWNVjWi2hJcP|ssC2x5RZ^(Z@e!s;;TzH`UUDrd zUUDrKFLO3qyncd||6aUiCdF$cQU{eBTe^HF7-Ng<=a|nDb`-g;W5_+h2lk}71Bw`t zk+kisz}Pn^@E^pz2dF7Q8xpj!&TMV&)7oaWdQGos-5y0c4&XFA20so;rt0RD7E=XZ zV6i2dcCslWcE&USI}4tJUeH5dA?$#M zreum#^Ib?oH`39AQFt6<@dW&M5(Rh))A2Nx;u);P_Yud_xCB3xN1ZFZ#GN*Nv6J@D zt@8Lg>1%YWH1j*@>(YaojwN&(?S%_Vk&iE^1a65z(;46|_a(pF2O$;v7)_Dn(&(c`AtRpgSSxE_oWFyCsRQgbQu}Py0t5qHi3)*360?x>vyOmu!CE z5IxL~n-l!_9e&&1KR57CqUE_%uz=%VlY3%lq!zyBaT+(R!C_=^M7)I~3G-*@c3s}Im-tM3uJ@5%$T zt&3jb{VtUIeH4Ugn2S=n+j6Q_VmN^3;l>LXf*&CVKSn-&g2{LpQ}9zv!>gE$*Dx2a zV*!4KD*PPF@C$6fFA>475Xaltir?Tm{1*4%9UQ{DcnZIh{G4XeEXmKOrN2#>g6pMb z5}1Z-r3;{70n+HF^a@;(QzIabp%g9^WZK|dw#9d+L-3^%(|r`LLqiHc+q3BPs)8)~ zxwIVaz$5aR-mEUHFLov9mk$9rB3*InWS7r}8Rdll#X^8wmhA9 zv49&mwwH3{6TMmN_PL*s?@C0yOY!zS}N9QJuKwS@5UKj~{{s6J0- zYC?EtXv0-;FYXwwiF@&N=fYyBM=qRMSyS)wd4{XQwS>s3sdx8VeO*D87$J?``TWEN znNNWwY~$I{RXZ`wmUh{0k1d7se<6@56-;kd8kf z1AoLwe27~78LROZG~=&m#YfnSk8wNxj{EQr9Kfe|0-xa-{1dO>Uw8}u!TUHuBXEpz zNYFS^sE}MVh1|4+JXA+2MaWHCDP7{L9jVNI8(*|tjHFp0xM;KB2wh+#HP9PUUo>M1 z{T?2;aUVLwX*3INJb?=YXAC@e1&hRJv_ZvNm@9J828{|)DNd&uaMKdxi#)cFQp4yV z>)kxKC0dst#+W$GmOLek8E$s*v9l;Lv-lVF*5%UHAYkQNEk0C`uJo%PE%6TLc z;Pkl6VgQ#0vc%YKN~9&UPsid|Nm;_1YNK2Oqrax<**ZU1S$*`ha#Ri7#YlF2?b zA;uRZ#CRL#xje>if01Ff=*?nRC(?W#OS9kYbM=M^OOOeUsWi%hPQ#E+!!eYyF@Z*4 zDviVp@?jq3pqxfwF`b4w8jV$y3xiHa3*{k7XP|?!v6IG19xj&InoDgS;!+Wi5hHM^ zbmlpavrUYXKFd&Sls3YJ38)f}Vm*2~G27>Q9=aV!x(a=o502&XCCP1f&NT&h}qX0%wAtuoz%%&pDp~+ZCXW=}Wf?Ar2)iezaG#yPe z6KymLyJp%eW80kPXm6XtW4fv>3x_2}aYo@KYrM zRE_Dh43%^q>S#F(szDpAz!qAGE2s|FQ$22@Rk(vLz}<8qy6GbPkS@f_v<$zXwGv{> zr6c{PB*gxdgxK%I`7{dxqw$hhCAHCX91^R=8n{r2OT}8Ljc&sX5u_PV(G6W%BP|Ih z^GntR=BRm4rG~l>X-AQz;s_nZFclxuF(<4{WW8s@D$t7%>x~VoJVq3&xm0*r9r61< zLy~r91lt{{3LRtY1%{i-%=rdotSSZH615`_u}&(sIw;cBf8oD^qM2}WLh+J*P?X?e zAa#p|y{xk?V)!+&A7yK~bA6iSS=s5f*}fD@LwZ?5dTkAP2KP%1nd(cG8ghuw^LHudPQ8K#kDIKo&J&IJICjh2W?42v94gQy7&L!Afe!YTAe(MX`ZmXs0-0 z)PWte3767lTuxhX18v1V+J-x5J38rNJWM+Ik}ijr zuEYqs3S;PM`01;dLf19p(S-l;G=^)}~&COJ<|%4qz+m z)-18Pi#{w!h}MMInk6naUF9BeiQstc&F9UK`^|*dRi(`B#A$)iQ!?MaA43D9U2CU2 zjkgPW#N`5)DPnZsd-oiBuXp2T$`I!UjG-Gbk#2&YZpIY41v6<6&Y@dTMYmujeO(^H zZ*D0GqB?OE*2s7(UtBG|D&ws&;u^GBhD?Xc|2cG3TuZ|Ri2s5qDd5-1xc5~yhyeE3 z$wJN>6eMT^Cjz>}^=3Z6)lI879UyL~E=-79_M)jUA->iv_HpJs>Dw&oE96oVr~2HP zpLdJ9XR6t1${v|o&*K>B-lS9y4alq^+lfBXddLxb%tr=5`=HV7m_T=+i0;HJx(mzb zZmghta6WwlLHZ_I=w57~`w*r3v6(utjUK>NbQf->haB2}Pm+Fn$gG2DxYo*_O+c&Y z6c0ebEUXd_(hRt;46~$|xe>&8nTb#lMYi}BmLer7X677RgEGIIXNg$^o?|F8<$yC0 zK2_{VYU-pVaJ(@Ei=`^lCEXCk>Dl)G-U=}6@1noCa~hY8dPKK^%(J+9Bp;c*Y@3BFAf$8chrWv(dIYoRQAtrV z15lErXo>i)<=vNnT`?hRrO%*7QdGfQ@jbX8_)pZVE$+3XzlyU_;;A0-jDWvO{Gd{{ zpDRd+7wmkj?0L}~!M^p64+&0vWQm{lOWYRpZkqiyPy(scg$(M(7TGp7xtO&%@J@IUga0$Ck+vq${hg-)dUw9K=+ z>5FP!v{)`$$Q&@MdXr=j{}R0PGIaVWhS4jSNw1=eUPCp#jvD$I+UN~*(3{vvzi$y7F{UUylr($RsrGz$ubp-l><3p24qd?x-056W=1_?L_XsxejkTUtvF7V|jm z)RwemGE#J@;sf)EbA*B~Y+A%DfF=``I~>HU^k+`W9MdJ<;k@5L`o>-a0#Zq4$$v9k z-Qqu8lrOdAu`C7Mis(@^f$C0p1Cq$qg}o$p`CQ#5iDlX*)#uJUyIav2R2Cs6lubg) z+AX~eFZ~)i{RYG7w-`b1AeY`n8T}56==Z3m_pypTKqLJDA^IaW(udeif09Hsv#&cW zqUs!L%j&^!w1|hq_aHC=O_G2LR$;6ppbL%gNdlUgkdaWnz#^`ii5^va;Q1V5EZPaa z_+t?+lLH+9Q3v6wd(n3QJ8J4(r(5XDJUt0N7pLfK__=*&FeTF9bC)(*>4(ddckc%qWR00D3 zwXO-Y$(S#xT{hy-lS(HQsEUkbdiP}k&b*Z1d~Jtri!5`5vQSCjFzM@ z?ck!MY?WBDm4iZw8G(F^k(g01$&x5D6Fw4j3?){EDc1oRkm5_;q*!2C$yEE^gp$)+ zS&~;$#2N64F>*7eubY~La;kM-0({-ib^w)Jb^yU;0=~kNTaafLU0L$jpY^%2l+%6g zgpwz#SZ3)bn`tfbp^GyyRE$Tan1In@qJs#z$#rv;vGO_&kSjGbU!2KR#>t|jj!fx5 znMED52FBwJ%O}^^C(l&**nHK{5}Zo7rDD0im)Fu1$+E9ylse%e=}ai&0|i;iM6O~h z1upox(WMkt7e0s8h5m!smr%}1C^PqB8Nab#^KlEZl(V^gc9$aCz2&}Qmt{=dvR;$z zE=VZnaLsKWygpY!LMi2d!Lq!)PQFy#A^@)_M4p(0siFvT#AH;9v#?rBL0C-1HZcvC zis`sc%)lNo6Z^$%+$V}9Wlhz6f0DBITlO#yS4bCDU=G$Rex(cww&4t`aCRwtN;wzK zq;krDk~>f4u(z|yR%Su)U+r6zoeCjwu%dVSd|{@_N?p1-F_B$;GsRQwFYHnla+r`j9etK3E(=q~Sj+Sq4Z;6Cgrv%Qe{bXCuS9zq?3i$dH&P8 zlyglDG|KODbtzQ?)D63o#f5g|wRcLU zvqdcyh!t2U>aavqp+?l>BC$$R(~KooThttb36{N^h*X)HaA9_ziro~Z*l=0SuxhEt za0V0=Z0bJiB@&nPtN{>w1=ysIxD{?`k=OJdrog&yHB6fJWd)Q_mP_0ID8C`Kw7(n{ zWGO3HE>~D`S&*gFal0-lr{e9T8sj@vF8@LCQlB2Tzo1L0FZP%s%~kqhm2ZEg6=W$F z_*^XgTtMUIg{JP~4^|gz1zE~kpJr+YQI}BG)p2Dn)#phljeC*KnSbu=Scbb|{8S&G5?<3zmtR55%h+$hKrV|hNN)@kwtN>~9aok#MV zI!8_F9Mkdc)j8K=EFdm|SFA>sSc9=*Eyjs;C=iV(5eCi`O}IcbqfNA6rwHK+u^u;z zR(xHw;T{pj{UU-##71<9D4r29yeK;GhS-F6#TNWoY{REwJN_dsrZlmGeBu&1P3)vI z#V(p8cGDbj87&l-QebT3jVTccDyntg%Iy)>v7v0-7e_C(wpZly;fd--&mW zjl_oa3cRI6X&OAZ881oQrlJcE$P%E2PqAKUg2%esH3=!>j^ScE@5DDi?EgoB^rOgE zX}>q+C?>14Kcx_YZ%msI#mDk`G0^CM=zx}huX=Dnx{Qm^lB@AT$)9AT#fAH9wg;AR zNC^zeCsP$(1FyIiIpR9xi|bJ+Zoq7DBTB_hs1!G&M%;pWu?G#}R);EVwCRXO%k#>| zIg&mCg_tQVgMw0wRW?zH>NMLUcli2jCSCVyO5Q zvc~Kq2N;TM&{ncS=cfk{{*5SB?o*rAEYk^~GUVF^1ZPLfM9Fqw%n6T+h6 zQmeKub!io}R;@KEY84@isCB8JwzgGUyV`xV`@*ZXD!=D@?!A*ckO1xb|G#~BGWVQ& z*6+Su``X7(KL=oz{D}rZn9&(GV&&VSO-7_O6fw%D~~6Pj(GX<=0vokGhQ7` z1nWZ)Bi5J*HiZohE<(<>;ErHvn zO0;(n+~H_zE5A9XE*fhs4|W8b+l+GV3`JV`ch*u)XnR#O+}R$9msUAiQ^Ua~Bb?f`g8@#+w+_E* zO+)qabqxatFCsh{4|lf4OB=(Tty9%?&Bu;tJd_AUBd5JU${qg??~|2!9}mV8R)$(i z6_}Htk2kj&EuCSbr7;nVB}$vyf{_RV$ow^N66=h#M7tuZ8QQA`p4Cgjh}3;dy=c|y+J>bb)N_j|Bot{Sq}MNRT)uc&P1R}- zRuJ^X#4-^i)L=L9{dx3hSDq?d74S_VP$Heo44|TRa*m4|asgs~1-i(z}eN z)xlV+ks!=evT9pXG#)RH8S#V>jPELM4u_0LqI_F$XDnX6%IaNbPpTwn!H&?HILkVB zup_jhi;t@~v$i@;@R<^}GZ6}xpC633H5xo8y)o1p2_`yY2BG-W5$8I@a$PjiT6rGN z*{U$1R`ptppc=zEV$s%^5s%k};t3;S#Q4`Qds;LcCuBRWQXlN7B-Et#oN}?DaI-iV4>eaW z=A)|1=c=6?^uxO~cgA8yBr&l6%rosapzTaquGY@9)-frakY%-bw~!GhfORG5ha!itUc4dbm&Ed`#V^LCp(nf-3w-Jk02NMQinB&Y4Kc4+7%j6a=Ptq(?mtwu~o7j_cTTaARNYYF2gPdTGP zP6uJPjvVANMne&!p|icoh^=Ouf=z~Kb1=L%7z=UR>U5v0&gzB4ULBX=5)D@pauv9p zr0>NQ*vspGQpY;1=ciBU*knFkr(-kLYxp!_;@Od)7uVwk-tR_2{^V1!TRUYfZ*jAZ zEx6c=TX36(TL}dztJ^?dlL&?5I&R13m;_=*Fk#rQ2>!{nwY5_QLltjuhmHuMUhKnN z8uk-Lr)*$~orY-R$~tS0yYU5rx7A3f&g#X4(UYeP#R}Dn)gE8eu@b91xQ{S8X$DS> zn(}^Xup=}z*wVsMz>6>8%Nia?vHco%#S=!mjt9|A$Y?bZD`L?OBbL}jnCJwYWdvF` zRc52r<-x;*g28v@>oOb;=vV`{2agfP3_h|W7>{>FV=X-TD>~M~t>H<+Y^LV35xiAO z8ZYh)u~PEl3GC%Rhjbi94H<3M{$hci5ab|e`1sh0!z@EV&`lSG5`W5l2>&!Vl}~)XbZ&&vrOfbB(AgZ zgDMH$U`J??$sPo^snQA4&KfNy*;NvJ!Ilgd7ui&Za_RBG|mWKG`rOpvn{8bqj_fsU++UK}T(lOz{GQ-%_|6)9)6rQ|XXxd|Fuq9G&h z#Xj=r_${Rqmi;eIIe-_1b1!93rbfDrbA=7|0d&fuY=Wj@1k1M)e3O?s)wJ>xytsmL zb;@Jtdu-@)=P>5|4>KsAMrt&IkU6kzeXv6(KNS$9@`6(A0UJ*a_*z{WjUtRYJ!$Zb zyi|z2yzy9_is&4I?C4Ao<_$s(r*1OHzKpQ(IxeFLXH;+Y;n#X-BEe(FNO*0Ey5Zqo`PAfH9 zLGTYjAk~X?T1Ab7%vK{&6%B`tW;WIcpBRMjhLl~^iwCAwdT9-<(`YSW{E(Xt4A*Hr zZBXHv_UI0S&Hf>GSr-c>j8!U(!!{Ug(y<+Ge!5V{Hn=^sg$=S02cim^qmkxdVnvWW z@%ZYf!$nt2HN?qMbcd7CY+>u*J*&$@&4er!GYqwqcBlU1StrDQ^|r6!UHv71@!ys&9+ zI+2`|oS&pmX><*ta1hE_*0{WZU1*)IrR!Kj#-owd(ds61vN9e|riIh-lD#L6)2A6C zpEZ>ljV|I%w?+I$cabR&LFS&R|&iW+qNK8agD_ zDhV!zC<{o%{5Du+j4gAod0jL9>@}A*8(PHZvbtN0u#qsTLtD2JW?C3m4h6?O%?q5= zbntB@$GO&>H0u-_{k)Ub8FE1C${BQk9@FU26x*lKNa*x9eT4;kXt$waZM8h|Nu3VT zQ!M+HxLgzta}3CFfdRohC+QSlV4ZX<9;3eg# z55i?;Y&=O~LyT}L34%KsZc)K#X9(Dgb-N=*mwJ`eoK$-jwG4D{xO#|TpsIa3r6hlu$Nw^Z)x<+q1EL|c0VkUs?)dW4Q1#AV+po2ht!tNS(UuW zTWsilXK);y-72hV-_{XC6C2Lo*XalJLxOv|v8$2u6uGvmW&@#;N%qG&y+c1CXo={e zSS+YKt|@~E4L;(}box2{f{+%8CTdSMLe7NwQ!e}~7M{O0gUdrA(OT6*zacB2KW4rPVdqCgft@-V;4KcC$wR-R-=Crd;?miW@od} zVOn-WTJ??#R1(;P8SdcJaauTwYk6?H1#~wk1f|J0=MtR6kP$Y~zd8+Mhq=SS@ zM+=$=nMNeu88d1lEyhkG?xi(C(}jm6SXy(mGm_vQuP!o#PRMYKJ;{HwbkC5)?Yyu@ zWD&Ablf4AZ*l9F(az4a0c_XU2YRjF|n%d5w7B4kf7gKntVJS;lj$#HqBT95pD$3Zq4>`6VnOV9kFP$5swd?YSNj47Ru{1SDC4cS-gtRTE$^hvj-;T z=+sRQ5weV(%s+{$Xe41o5`>B~ZDKQ$g8?i&ctiyO9&s-F8oN3SFYOWM>0$vhyr(S~ zZ{viRM=T=9_9&ZCqDmLl9Qkk?mvjchagSKSQ;nSoetEu5S)%qN3-5HhUqEmb$CZI5 z>UGf|mMe?4BOGit?SYgKhIQyuuQABYywoCA>NG{HIw=gBN`Vgh#kTW3Vm0epRmkJT zKCxC8>)7-42IJKhC_Q2WAuZapt+vG@HW9SqcoAR2BQ7Lp91}7k3C7tLUCb5p*uPhW zEJ>85Co4m&b*c%Op-9AtSwlD@YMOtwj$Xn@8~KhZ7t013G`cc`sz`MW2LYc)v=Jw5 z9hEg6!J=DL)G)5Yx@c#|EF%%Ei*^~Ys$kskh$tb=s<2_pqqE&ILv-g-9JMqBglVJr ztxK&k!p4qZB*FCt3jFc2cW;N3i%#zMh#drP683SA*hxrhkH#5~y9wzHHS24aPpx0x zNEl`vs?mu#kGPEBHj(KOdkLaNzsCz*fTVI$I-Xd{St6TyE9 z)!Ot%@bDtF38UQ#D6*GN$lV%>87YYkLdj{8ASpvDr>yme8wkVf-XgB`X*F7k644?r zt`|4y;$}Xjm8Vp-4Sf1rm}hQf$2>)in_Ocb*&}WzP%+EO&+Fn2rPEuCrp{I`-V*zC zv7c?EY>xCgswFb;wzyjtUl5-*C8gSuE00>a`a~K#5^U336S%5l5W9*%Ap+HE;@*=| zV5w}ajJEpVAjyXTE5edX=W(=?F}Fr^>*68tFu}Do#NkR~NV#gufgwvPk^_b$%j(5d zow0Z{R_PT7s7w=&62=a}toBf^I3OO^=^gPELSBk_si#6d!SisI&%W=>oj z5{C({<{*bPClBRmnIKXSG}pyG(W{F-(Qjs3RPerXNZ6!`76-g-3@!8GxHzJVXE-sE z)@meJ__>=EG}!ex0~EL#$P~_Tf{Zq8BgidW^yRFxv~bHY;>VcUU)IG@af}1EDl4x@ zkIkT3Q}w>8i|fUwJ>u(xoE4@HPuj~&Y40 zf>&8KD}u3LJ7J^Kbg_^y2y6W}$z$I0r@Hu=_&Gs~8JBb#Oj%Pb+B{=~j6-VTm%8|s z_%*@ZW&~R}vweoBU5Ytz<}C=56x7c=(j$IH@GUVC&26V5;$2<*fo;ZI1z9H|JmOD; z(dIN0bJpyEU_BGgUv&HwKl6yc5wgs|wnN5m|DlV2^75H#d7G>};(rKZQbrHD_WL@W z$7}z~ig&em#D|12)-oIk*>hP@C|(qaCW?YPf}t?mu1wb-v-|bDS3(L+Qi@ZzI2sKb z!H7;-QnFLG(P<=DFIAo>>XB|jPOzgRY!yeS>OZgaNUtW-PYz+4m40TxQkNN$E1bEm zg2R`KoRn(ec@P0I7(UGfnV@8rF0*A0b48S?(Xt>iD zpqol!b+j?asTh?Fv;{WHsI$GhN3z$+2;r!r#k3|;GUypOneCtFy&xITWr-~1DkZDx z@c)~PwNeybIaN;6WO+)Bfn7PL%jt54nOR@0@2yT+VHFVJOyEcDVExk#6bIST5E zD=g$$@UxSDs`S&DU{zZ>(t*{y+)`bRmlFtC;b1(mrlTd8FwBd}P|HqEI$I^P9{L0i zuh(S*5BI9GDpn$-t1KlmiASy^P$xVT9%g+c#rkEh>L`WmU`qSJJr0!6#xACLS5_;^E`5k3d8U>3|nlkkP7K$-lmD; z!v!AM!qvel(WXvXs{puF7lzpCk!=K@eNvX;)=Bv++jO~I1*^M)u?TmxGbK()=8LNd z-cX#~Nv;lIx7y6jt}?drp$0N`sw2ZjpYnZj1|VmKMU?P3z4WqJ&}7Oad6}^dxkHy- zOg<_D?zCf)B(#e#LN$_~m{`h`zcg_s&f_Vx<1t5>baI(4<1#^Tu@|AqD+u|j(k|K( zEayzBqAsQ!uiPuI;vD7s{Pam?+!9={CA{TwRXzHN>&NtigW(dhIs# zoz8IBEAOC@9(g|@!;u!^@ei;;KY@@N4Yv&3&5TCmMvShL`!Yf;OZck}b3|s!EJ9|= z41zD^y@?)zhtoF+qn%yblnKcJoWwB)IHmCEK*Aa?Vsx=sW4FlM!0a>Q2^Tw%c)Ep7 zN%5Q=w{y{m*J6m!)~$IU$-+%kd1NnPnDxn6BC3QJL#xF@PvcyO)bF* z)0FllEK7CyvOG%2Xdmbze8XwbS~JbX z&ksgg!bW^TT{ODAvttn1;E)z66S>gmzk6wJdHT6dm|ELb1;gRSP{OFpcFPxXsDRbm zYr1?|9?5pgS99bMtM6O7d{*^+Ge;g_7FBUeu6Z@$n*5GcHDSuglpCdjLX&TEVSDm} z%E5*b+$P*K`2()hKV3BjL9?P(n*1?g{8>muKD!L00JHq!0Tvd zpa7YUb`}cw0}lWN$aD1jP=Mi%c0LL)($V�ELeBC=_6fqdgV{ILFZ*hXPD+w2M)I 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 Ooi2YQo|Nyn)BhjH-vLrOSw&s}y)z79%v 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 C0mY&K diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/PASAPOOLTransferToStep.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/PASAPOOLTransferToStep.class deleted file mode 100644 index 59f03dc341537b1d7bc27827bf931129a11aa9e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3454 zcmbW3+glsQ8ODDj3077XFv2z%*Nw3g0s^8M6gNh0Tp4g6K|n1+18GYZF^I)t7j_rw zL!G9Fq_y31(l+F(Pp@-Pw+VLIr~L!^N2PscRtPD<#4Q)B=G*r>z4LxE`|r>G{x2ZI zhXxVB;Fd4F^qRXQos#Xyv@gAF>81TZZuse$Tp>3zJv}+=S&qLVy;-*q$PI&-pyx2Z zJ-k8-8q02}Bt1dbr0bQ^)`nGFm1$+PosxQH*3y$2k`*LJrbov{7H6(aU!9m7TO6Nw zd0dd3T(h>VblGxB=|bSyPAMyB8gU&zu$*AdDsRa+PYGfnytO_?W^gc0v!Ed}JUBck zXd9g<%uMFy7juP~v60!u^A{E`#%UGA&R-b5C`f+peP(ee&M`qWGdv_{_T4S7C<}q> z$=5tv&_1cDD7x$GuH&coUSzA#t9DsVS?f{|zf>&Sjvc%ti1zf(31TDevP|$5zG`q< zaPBaE@|I(jq-XLpX9Pz|G6+c%oa^cRQf7}JIBU{Cqo8HdcI4F7`jYf!t);S51iMA6 zJZE{fT33vXmvpTOqC98vEGGrAVAb{onXu*mNi|u4A#cdyRv-nXp2v{(#f^SqVDB3> z&eKb4vKV9qiLo0+xe?f|;~P9LXxmp(^^M@Aca~wCYw3FbuLz`6+ zA9Dilre=81>yj-@e8P8p@%Tn=r(IiEmpgFL-k_`5= zQ#I^MCuaNOqk?BYN8Gv!7`SdZtwT>ZD{i)TA;D#G2HzB%sng~GXp<|9gmM~}c4;-x z(wq=P)@{MrdiD?SSA$pxtm5^&wNcScv+Wl~_2lZ&QpHS|yuz!3wvr5#twXXWC#&aCCpm!gnS!d`r+MH@B>^FF4*)<6hbMkc5KCtjc?|B!f}g-zZx* zbN+@b27;#jDl>~id+U5|Vk$f^UKg18vC)ZKgvE>KqOcUhem>w@-5oO(p>oWi&!8)`0$4bLq~ z-&eEZnOx!~yWhh|?jvchi z0wD#*Yxt@jr&)vFAGTRx4ud}ml3&!1AW_gatUCJyrw;xGd0sivg&+zTbgG*T=)@q7 z;0O>QK__O-x`|F&YSu^TBw4d=Bcjf4?b}Wqh!dxSlL$J2J_PE|c*Lo{(e*$B&jAS{ zKnsnu@r<^DP*-NfF^$l!4XKB8@4Gc>W3zTKLjXPWYUdPvMCk`&2nI-l#(zzB3EMQ# z0Cc4KKH+?-{}YB%yS$L<>mN87d&rA_sTP+crhOVXh5FWL=Csb33H>V>p+onsI_%Kh ztCl(#=7i?BgDi1kMAU><+Ip3UMm6{C@=|N;#Xr#y`zZPm5Y@DV{aw}BPK3y6wq`~d zLvU52g-JwBSS4_=61ZCjj@eC}^QQV?I3t=bu?MKW{ zratC;Y?sB@KgrKWQy()_c!bRVgUj>%54k=yu#1x#c*y1sZGWY!FX=1Hr)S~HM zV3|f%I8BLeR!OnOAlJ!J<_a#au)#c=ED*577MpD2sSAQz+~qd+xWj$k;sf5+WQNnQ zQ;|y}@9`^sjo>uv{D$8Wp_^qbp(yuh;&;49M60)phR?WS@V>zx3@*2~|A%%W2EyQd O^>3gF!3TOAcm4}R`6y`s diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/PBQuery$MMMedia.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/PBQuery$MMMedia.class deleted file mode 100644 index 2ff535cada2d844219c2abf1a6a0891d85254533..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 831 zcma)(UuzRl5XFD9yV-5x+QxMK|F5+blGM6Y3O+=9upkIYRjPRuZqm!TA>GLCrr@_y zFbF>Q0sK%R_ckh+KIA^lotbma%$c9RzW)IB*$QxkooS)-cr+R4EJ-sR7dk)Hd0dqG zV-df8{${H4Pusm-Pamf$z!T~tb*kdA%98liV5Eno;AQGW3yto-(ovbGS<(?I(?TU$ z@XHTrvArkU?=GR(5&WlVmX^j$+4~?tcI*mt>ID+sc}hgo2|a7 ztcO(aO>{XVz!%oKX{HaSCj*_oRfDlzb~04szRFYcpC>)Dq_Dfpz<*5b2tlIDLu+Bw zY%NYLtR%X8cjja5Xfn-*`bBDn2MtG*4htdG}^l}qA!5M70Y3I_NelRRUWg> zK39Pas}*sL>zEf=O~*z?)kV0$&AC>LAV8)4mB#14~Pyk+~Ka>*l2HX5BUweRj)q) diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/PBQuery.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/PBQuery.class deleted file mode 100644 index be1b66209524fe0ed30e1316b24ab17714dc4912..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13190 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 NmFIZkFsQVF{|g>J(~AHA diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/PeableBeachMissingMaterialCheckerStep.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/PeableBeachMissingMaterialCheckerStep.class deleted file mode 100644 index 61ce8605ae60039d343777e61c0e9acf16a324a9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11080 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 diff --git a/server/user.commons.zk/.classpath b/server/user.commons.zk/.classpath index b61f2a9c..c25c0cc7 100644 --- a/server/user.commons.zk/.classpath +++ b/server/user.commons.zk/.classpath @@ -1,5 +1,6 @@ + diff --git a/server/user.commons.zk/META-INF/MANIFEST.MF b/server/user.commons.zk/META-INF/MANIFEST.MF index 08a53386..834a04b2 100644 --- a/server/user.commons.zk/META-INF/MANIFEST.MF +++ b/server/user.commons.zk/META-INF/MANIFEST.MF @@ -45,7 +45,8 @@ Bundle-ClassPath: ., lib/zsoup.jar, lib/zul.jar, lib/zuti.jar, - lib/zweb.jar + lib/zweb.jar, + lib/datahandler-syntax-highlight-1.0.0.jar Export-Package: bsh, bsh.classpath, bsh.collection, diff --git a/server/user.commons.zk/build.properties b/server/user.commons.zk/build.properties index 355af5ae..4faffaf1 100644 --- a/server/user.commons.zk/build.properties +++ b/server/user.commons.zk/build.properties @@ -42,4 +42,5 @@ bin.includes = META-INF/,\ lib/zsoup.jar,\ lib/zul.jar,\ lib/zuti.jar,\ - lib/zweb.jar + lib/zweb.jar,\ + lib/datahandler-syntax-highlight-1.0.0.jar diff --git a/server/user.commons.zk/lib/datahandler-syntax-highlight-1.0.0.jar b/server/user.commons.zk/lib/datahandler-syntax-highlight-1.0.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..5d8c3fa651e3b9ef7cf093cf5b0f31d4aa024f9e GIT binary patch literal 46242 zcmaH~Q;;rDl&txeU3JPlW!tuG+vX|Twr$(CZQHh8HPN@br*F(ebjE(z4`0N}jFn4X z3Ir4y@E?L|MiKizpZ^jR0058?Q5K+)kQJqq|1S&@0NIQpW*;HQ;(ukn`9ja zcH#kkkH)X%)(-e@XMq3X?7z+bhyEjgjfsLV^MS09O;k z|Am13FT%*t@qeKp{)@8w-yoR(fvhe5XXbw{z^+c3`UwC4Tmb<9NdF)I9#*t&HrC$p z(~5)mD8Z}eO4{qlPNxAynK6e2T+cw{?NCKQPHkt*v|cU}Wtx`=Ow{aIk3bOZyzub4 z^l^W^hixaUz|Wr7)OS^`&hKM(8=SinYCk0g!;d4%v!|D^V)q zKmfoeFaUu5f9=KC#MHpq+KJZ2!j{&^(a|Ph({_L!HUuw3D}vwX>4{zm-gZ1=MCSm2 zda%73Lo8wvfinJMboyxEy0Uvin~cqjO;w}d#G>2BidDN_ZJ1Mso0c@uw0wj7k-;?I zjMg2$T(UlUTA%4?{d+Uzese}EUs%mLdU#J^3jB#HjTBJ;2~5-w;TiCUPT`ML;C#QE z2vy)RNPY5T9WOZN96qECYw#{MbCQlgvsuN1H~!SoQxHl9#+4^LD+V9#IZg81RC}}1 z@a(p*Eg_`JR+5PUzR1V3!Z%;LY6%P?nr0iERatwq)$U%ORMbxW zY1wKWx+&@*CmQZFO9@a))e1R1-FsuOa{-2oV^7{XfzF`{G;Uacj04PEL*!X-f~Azz?Df)E%8-2B2I;B~XM;=>>oYf_U3VX^uh_!V(OJ2)#~ap}tV=hvQifg|p35fN z!-4ct-=uk`jXDGd%wU;eu2+%~D(0>#aa>ZfXY)36=7igojbW-w7tV`^t#H+mYAwHGL~YhZK=7 zlvAE)weqlrm2>v!$pwj(LmV`%su5t*S)h_ucSeVpLh^%tVl)P7-5p^o_0Tl3Vy}eY z27C%SLx!B*OcVEhvibh;lH@ra)Ir>vYUi%?v}6vQyIGYTY9Gnr-EF?#Q;M6|bkQpZG*F;CG=br9La;4{tI|E) z7D=UF6qnJ&TSO(C8#5k;F!rw|Sr*Y1tuX@_JUjo)B%7m7!hjA42<|qChVY%drgj0? z`J6ruO_|cJFm1IPpyeO+JBxpEZk9P12sZ~$BZHbh;B#-tz38B}m6MdY#|g4P`-t&NM{e>pq83@xs`pW9$z%m|ax0t2>-_U4kpmh3FwOinGaWKg zwGkEu5aW8T%G>BT)!#|x4s5b&*zx1Qt#oXJzOShdCt;{v&5`0iji=deCh0PxgG_e( ziUlVLXTfC2G+Rd=iL+6-VLSt)Gn&Fi*%WFO9O}{u$RCQ$9PpLe)po%tW=#!!oCvk_ zKdXz+XdSdJn)z4#b0q7ulOM0E70OVm9q0sSuH0K?%Mq^R-&P2X#o*os-Rj1<9=+WU zZmTHO5B`~KHZl*NkhF*m@v3avcJMsQu@V02t>V#M9v>+AX>(_iEJD=QdxRJd``oe7 z2rBOc#W$Pu%d6@~pZtKAkSEj|?PPd69EaH!trwp?@F)7+2^s83ThH`i;ICHfE;msZ zq%u44AjQ$OuF&4CPnl(vT69s9lw7uBtV|;yxI20=;rAX7gVe`lqXGn6E;AHnEuY15 zjB_qO0^@GexgPRWan}-oPY$g%Ft`B7IWjHfpe4FB{G9I4=?^6TCKwMg(Etx-KlZ8U z$WTt`D`*Zf)2#F?l9VfhEes>2Gt5Q{-x$ItL#;JdAw;8#+!@G}O|nb}GV%K9(^>p; zY4_bz5K~^C=Lg*)otV9jiW!bZ!9ICuv!)rw4jEq6@A5)U(^v(Sot*|c@Sh4Nm4;J7 zLr*eNvRC)aKEF5VlcXj3Ws)WFo42ta-x8aFq;Aihv|6Gyu1nAP=1yCkzczsA5;HMA!`QRDYyx!<`nON*F5Tz%rT-+f ze1fe)G;}Q66}KjGL4FLfB|gLQP5C6?`D{aSAt_KaEZc+@L_Qp2slJX4ILGTZS~jOc zt{l0`r!i5BX&1hVsOF#w$x(M0tagV-M_D4B2X&b^wKps0=FFlAX&J9lQTdo#uQ<^X zDw7tsf>DEdF*L&L-IBG|)IDYR4u+}nW~hnsu|hlgbosAzxyP8=o7$cqf=b5Loh8sj z+%BH8CbkPYfo@<4cm~>^%Ao|}2p-S*L$CV1^tsBDCQ}0%MAfu+QA7#gZ&7GJty~-Q z^=`R``Y@m(4JM`1#<50QN<;qz;6+B)a57+yf-kHi)vs&L8pU-PH zK5JXHC}0?mup92yMThjyq33lHp65@$qB@#cPI;$bk=^mv(z0^+!jh6MTe#3kLiBfg z@uorA8QyLmuAuNPZ`b$5y9=Dxy5EYyooB&s={4LAWu1AgFM~N9IOE zb092fLqoU$FkwL;4-C6(f<)tOxBc^pCfZKJDjqE@fM|fL&+qk?b~dzv zzsFa>uXD5W!bNwRHUZYhkX%<8Mn6%b8D;sOHqC7% zRIW-RVUF@!D7jklazWLOPqpoyU4!%j$P`!*2arX7@$F?A!OkR5yq?T|ENUY{Kw`!Clp06S?2am5-=2!piNrYM`uJj8A-6lGWL)%^3)K)7yOSqSwM!SLCCd9bXsb&(r(Wg^W3rX58#?BhC6Q zN?WR3$f_Co>0smKe&u8Cj!p>wQAFp!7{4ulcwWklVhR2tFNPumB5_)U{?H#(kRocV zo$3f-xa3!P=CaJ@U(w5R+da_)IBKsaQRg`<7xFo0G3+O^`%Sv3!n45)$*MH9K>gu$rEZb}F zaZDVO=W8+9B*JlrnFN~KF3U|fM=MUq@cyc<@OE3KZR+dlC9n%@VnO&qJaNmaol&o)Lk#S(bFVi^ zo8`t4&@3*)YSgT~Sv`_Ig3`#sIS!khzDn7JloWT`Z<=!o)e4!9HZmfP)2tbUV+UX@ zzBJTu6>9kw>f}_HV2gX`K!WWOeD0H2*E}%f1^J)u_$?>T2s;ttrENe%?9Q~47C@R&z( z2T?=pQ_VI-2AQb-sK`a@moyi{v#s0FGX_-xfIAblBDBbMar1H~ZDEjbKjfIB$1`n$ z#B3Q)0Uf17xsr>LsvCaE9(&+1pz%wfEmteXYcChADaQ1xkQN;NRo6Hw%x6115Df6s zFYC^6>E+3z+q`ajt`U{-IVFCkoHhSDRfjwB-mubVFc>S z_y?x>dgXy*W_Ez3JRBPlslG$C6;lnS#7>ZYcR(!@ow^A=idI>%iti4G0#X|v@E1`7 zlzcUbFD7rtb`^4+pBZLOYY^DV4Mjt%G=U)u+@k^>H`E^?nK6%Eq9Y?UUH4llC*|uN z3fI?4@*3H6+RVr+ID>5k#wxImW$RmbzXZ&dg(e`=Kfjp|<9A)0L~38yAtq-HDLYQ3 zxfLU@v1%-ow<8`haz z`T+1Vw|%d5%x4(ujz^Ptxwe}<7)M?2x2F~ISBH!MTsA12T2SJ?40z`e0qobmFmMm# zwUkV;6&Fvp8~O&N9v67WVMU}z#4pgAB@HZ3I!ouh6(5B$u`=aBnq{qRRQewHX6#fJ zMCAzN5z^6UJcru!efLyp#CQ^qr3`hZJit6c2o$=@?B)+|)NuL@eG!InN~d$CB|FN= zmlZCmtD&JHjl9q6G)P1lw~+$F@2?>Bh9&C#tVUdM#4GK#~T*` zx9AlAt9%p(AQJ94HuVZy?+cWta(k|C0oE6xJm6s<1@uc&^*y$(-RQYAKOm*4xJrLjkjJzju#je#BQTdH7JH6i&X#DzwYK5Z^d@FyoAj!3ZJIDf>sd{WS-TG$h zXjx2YrhS%d{W{|jcKU?Ic-TaYw{qg)o#(okMo0*Kv{*uWShvAZ6(crqiQ9cw?P!g;#<~)uY88bHDRkDDHf#hOxz}Yr(-P9hsoxV zOh0+peB@HNbSLjcyErHNqgdyU;I{KP;cV$*0t~bB1=;6xq^LVNJv(eycon)A2&Xlv zp8cX7IrXSnj9)Cn>zGZis2J3kWSl8}ro9~SoN|OQ=v9ev&bUlfdeLRxEDMOTK$AIN z^j7J00x<<((2mbJ*S2a-bJP2Lg-D7jBIKs59{ZM}x36+_aM|#|{>t;8e4X4FU%{%X z3YJIdkLEv60HcjdRJv~Z@tb%W7^lU`>a6shA3v7<+|~o|UsutJ==?#6o*eg-V&4NH zEqr|(TSqpr&lHccR^*$Dn|+mli-VjU$3Mg7J=fc#f+S1^P}O|Y#sNs1OxQ-9!`B|i zx&iRY>R(!P;2^N)i-0d@CUk{c%SB&}+gUBGBOu+%5Y-aP5u{|wU{8gBZg!an#jX*Q z?8S$ss0nEL-n^iDbyKTn|9 zWw}I>Tnh_viC_Wo+qLns&C1kJdZq7Ej=nsd9kB5^N0)G)9E|%VWZiUUOqcSy`v51M z&f`=z91J$|R`cEz^LoSWJ_U)e=@xu;pusgcg>j#7!xt;3?>da*@>A3H2-PxYcT=F) zqQHiKb{0`>exEvh@*AxwqJM8)Z$)ljQv+WnE9fYDb)K1enY8M-|LI}3$NsP}_C+t; zId!{FWJxd*=m6PEoZxd>;L34M9JEq9F;DWpUUpc68yY4g-IE`ii3*0~u^OXze5D0c zT;#dgV{;HQKchBH|4V%J9v+;z)lI>3j_$k9bwZ+_Tq;vkHEQN9)^p#EBldV5yL`Tl z0k@HMl1NJ?pnR?;n!6X~?npRqXPh@uc~Dc!J7?H#XC_*+A47-Qh~8f-SZ|kUtjuGu zkWZJIpR*%VPZ_Te7DtatW(rqqLMXiT3~_vbJEMB|;vy-c4#jI0@EX zMk;iX-Mh9G4jU2)3=dT|F3B%TTZp!Q1zGz`#i3UTJaU`xe&(_m+ik5M++dowh~I%L ztVZq-1$Hox4su2%81G_ms_Hly-}G1B+Nt0wp=ybKc4llnFU}< zW1Zx`*`MtHRtTfI$2~$}-I;O4@6VX>qDPE)v*&CVUPou?-qI;s9zo(i+D3`&<$`0 zfo5_tZ;m46hrmZM5nqwNs2yqQ5`3)hl1S0Ppo8gVk5ieMm%$!vi4zo(V=shd@tiBK zLI(`PkiX7@Tj;RFPfbvZ`G5^7s|1P&)bhKlv9fgph(WccG-%hr%MYiRG}lo^JI+zL z{+<1(e!#7y+PmHAdT{t_+Pr;8ucYl1nC1bm=~%t86?pw;l_37@j-J#Iyo^x!Y%rW$ zlEn*AbW|}QZEw3BdM7^iPma;Emu-P*{Y*b`dXnTl@HPzUg7R&8M~j@7i~JI4Yy>3^ zm+QFj=?8m|!WnT~e5j_v08K=kLyX~r?7-I?g5{DHp8d*0S{pP4wcCtd2)G#WKbQ~2>X6xDN+Z$R=Fgi-uR)458 zLBPbqpJy`j?n2q#-_Jy|Yumkdm0CV^JMcFZ&EDUmx#A`?rz^7%apACRiKo?WBL?LG zn^_de?u7b8Qx)O@$mmZFDBMoUyWwxuj z=dmPIPOGkh;%;B}fnOiDx1ZzJSrkq-Bcn-eKr>lg88HYEHKKmN@p}S?>wREg`3F1- zD#{&oKYt`s_-$9yfNmWXg%peY@sVAj)S+#sijdFCzd-mKk3+_&O^P|66kA=R*e5YU;E5BkZ;kH(bTm1&A!S9PHzcMM+v6Ts6C0ZF-MY1#d|o^K!uj{hhl zASmFi=9eIoa|@7OdbUk(JJk8Sim)mtt!!?qX7nobtnTTML&;6XjQh7d2Ns@ZE`|uS zkJD$g?aVS9mY=(s@SKaPV~_KSe&WJ-gxUOmkix60tBm%TAN8Td)!gvBNS!l7H$V?b zb1|ijY@l}O=N1$|uoBtG5~;ai(7LF{#cXY>j{qXwHKt}(i}&@ohs#23wlotO<{OEz z0Pk^4_N>3zID@n;`>ST+L+a?g=Ef$x(J*Np+49>7m+w%>uTw{CkUxfIXk^hTpI9p~ z5U_;=pcou!H3vmUiS(P~HwhY0ky6=DNZ}QlnDxpTvt<;BOqDDjqGfj5>QOmkv?l52 z0cWjfL5^7(`It7h%)HTw68a=22E}XJ#kIG#UdRU70k-3q=JCAxMi%A__t6nxAELUD zwW?kc7R)gGdL6~TX%y)NM3syTw6qu7l6ni-IbTx!3D+*j*Ehbep+haKMd@M026%u|Tw!)%X zF5B|Jo1(J=uNtiQKvz_xO)T;tWxkW%_Y0RQE{RkI0~8Zc0m>GTZPd-A$2-?IxUQapaFX8H*ZOL5)X(n z#}yq*0}ADkV*|}r=COk^w-kv2yn~=juxDajCT^*aacaGyDR3wHI40ZSsddiVel}nt z2!1^S#i2dzI&51jbLQ@k;(6(+tykd!Y55KOo}auF6gvGxcJ$`G zP$W$(x+I`@;4g8g6ekm-kYRdU6f|Z;yqKgR55y@`o0MRJ(Kb5*P5O@s&C87{y0HtC zEqd2@|Lmfp?U;qjqqY-r;|upI?dGA?X!m{Nq%csG4);ou?56e_y~bi5*Im#PRgJTT z&MsNOw@_KP84* z0Xd%kxQapF((5Y1TuE^;BXEN*R)3XXqlcmY71coaHfTYAf!-EwIhN2vz4ECMkN`~s zOuenVKAa_4MzMqqjmWyS*BAOKj;<0Th$ce12-0!wGGN+GSah+l`&{~SoUZ%*8~m1; z)bXEznhKP=Fao{tOFeQ84Sk4c`WFMlMT`SK^mYa_>;1Sdcpvgw7dl6#1P=5B?g;}5 z_W`!~ZakHz!fp^PoM1n0oiun$Q9AxDqPLQpO4FM9CcIAEeQ*iTo)a9F$-`IRDv z!#w0Ci+eYew3&!pcFojT3>~G9bnq*;ba=b_>zCwbcE}t=P!UWV+u7WllYk;TF57P0 z5r8sAfN=e?Z3itiB?u!D*`OGdY*&HCZDFRrRUuM5?is%si$ za5K9A0h7>!JpM}yRz>yewo&CsCry!A2#ZRZKZw^&enO5SnUL9e67uiJgt?MI_H0gN zCWr7vIIO$>gg?QascjlAWMPPmGk7*nb)cX-*4w$6g_7UB0yyToA-8)VJTYffnX!rd zkgMHPS{iSpCA5f6z4IR_zVH40WHVfK8h4h!?K+hf5MW_~_*1N0jWl0$^ig4VO<`dnqPW!IED6`zr8`_fS#dC z^cvrn+#gRU{TuGzRRq4akwGFbXm4nPE2e7(r5{RZYT_<>e_u||C{=oc8FLayHN}J5 zO>tmhc>LD`wDy6bY^i@_PbTzwr2OG3RBVi8Z^fn4wnB z*9=2*nF?1(v?gh4((A_7>UvhwmoU~!(w8+YrrK|v-{B_Ki^Q5WoWmi_R?<_1L=%ui zVDXQ~pjg#Ln5ST*M9MpAmMDY~r5*C&+lhWX7Na(1o-dlst|%W zd{ef=@}F#U74c2*Eb6&`dDwys3}$d>^L_6 z3Y>h7z1)^NBXj*<@Z`-;Z*8qv`tRz7I1vU7fh>~_#Goh=I-H1_X zk<&-9^VLwIEOOV={t$U{-sUCW`(|G63JvRv1lj{psNJ;(0=C>n_A~(PUFIuK(;9&n zmNnDgIcdb%tTBHoYP8%DCH1kp$-+c*As$S%!tWhR{dgxC@zqssiL%o~eS^$0o|T5L zW|^bqBvC691RxhPRgNe31Du8Rv>*S?I%vc%o0-MvY5X|#O2@N}nE@*2@!k1z)cK1u z=Nu-M)TaBIw;DS7W9(<9@RS4Vr4BrJND$4}+TTk)Cx5$<*i*W?z)oEZ+afmyBq)3F zSgYH`e(^GC=5{lzgRN-^T<5vQAvVNR+B7CggQd=Mg*zKOWi&Xl%idmjSTWuSC)&d0 z{`3QQI;;k%8o?58@9xAMC@S__0G;d@dAYswYJM~4G-o@h83R@q)X&ZuWF*cbqy%yP zLGlZb6@}KZ%Sd{JcIf$l_Pw)%^<}#wyE6@-lWcpuR??J>QLvN1&YNFSu)E0?MOmXz zNBw$xYZU!4K4{ZgC}QsFhP@CnyCAZY&i%WVGt$m*!UaaLsf&oZN(h&$txf>hltFZ1 z2f=WQ99skxA{NM+gR`vYEXbB_$V)ZHZjw-Z$1XEgk*^J-tVGK31riebZ(-kr+r?78 z33e8BID%^tgK5y8qb5Na_MRIDdYj`A%6mP-SRMi`iSrCGBv+XHc@XFkU@RCOp6Y1k z&X(`!ai69u_6P%8$ezY<5oX*kC5Cdpph0u+Frs1N)<)MqAh0-=e{XPcR6>Qrok1hY zFl@jFlQ!U%6WH!I1t6C1aGLu80Yelzd8dZh#(CRDN$myw_eUuM_It=pJdB7VD^NSu z$NotrgIb@XQd$-ya)N_;T!00aB$p{;{s{0ea|YDk?lkf!0lX*$)%9+OiOz(SOv1B& zbsQbH3Pm@Hzhk14m0QI|^{}kCbKu|c&>Uvg012zvk+6zhbyC!a_s?e^HEvv8TgDG5PfV5u|bafS8)6ssUNK89*~ykcdPW(^~p z`!Z}BSB@RB(E2t`ulKN&fA6^4jh9L;0hb=oI68gbYPmY6UOm7Gd84eh4uOQs>8pd9 zzs6f90^+oidkI>PLrG%hWDG?RU7=B19C<__hgrqdv1rPeCnY;$%xJjR>#wnzs0^L z>OY7hI=12&B+#21A94f|YL`=i8Ipu|Ltt=N_2G>$UcLKD)jHihU}u*-02O=_xpPZL z&rLR~O;~Q#uaQeOH07^5#PKFZoMyX*-N@P;&fgq4V-bLqjt_J zO&11SB7P=?r*J&dFcayu>)yJ~-o9q{f23u9869dt&%98z3cX15><(-Ksd{^yD{=QM z>Aowhj;7{C$n5>a4W+bO4lk?NdhKGa-s!E~8+}z>Hgl6guWZwjsl=;Pc%Bdou!*WW zgIe(w1Q@8ab1)J+I8c{~6G!(@%p`Gl2X2zm+XOAv?;%5~z1 z>S1ae#N2M&4YDJtOg2Wslm87_jJY_0uKKQ0U-Lgq zr>qd|(T{4Q+J_LxPdv3u6OSlPrNarJpN1sjA0RW-YK174vXMcFn732^;u9wb8(%r( zD}|ZM$MzML-U#Hv+fY+s%25s|^B(>Rnu>cM_~q@Dp`y5<)u#7;)Z+BFs2srtF7{b;6D(S$tMVKG)v@I(nr3?nf>KOQ+iMz#On!e=<3V#Z0juD4B63(2q&`GZdY1mpgbzmjs>DDdz#4` z0fpX2kK7NSGq!m!>Vc(Q^;k zs*sBgv<4*U$UU?72{$C!BS%LUIr-Uig51XQ?z6OvU)je}MaE+o> zDAh%zeR3CBzfkzuceizzDLm_+cCYw@uLYDVPqLR0lQQ zouFr;oSy)YZH04xLm0EU`#%XlEyoYLNeN~0#|N2Tn{u--gQyfRt>XY44h$VVn(hS2 zfqwkI4&w^j5=)bcjep8pdn&F4n*DqbFP1TUGu1nRTHec#Kra#HlTan}f#l>NK{b7| zKw6L#A+>QFf3ojA&E7P(0hZHaiTkj-=bPWAY}u%xJUTu;zqn1MB1_nT!S`v#B8kR* zDf1p`R@cIkU>qW^rK-TxVkrt)Ply$H%QlWkAEH}MMjRxn%^~%3r8`d-fx9-o>#dvO zzI%Ok=A>?4szOSbK8xXjW(_0y#802I@B(ar;p*!ava06ezI@E*mC|{DsacOxKidjQ zG;+(U=WmUkVC;TmYJc87=VHZ8P5;4$4vT8t$|!=}Y{d=h_5$-YN#HOR-NZ&yQt;8?7|jnH3N8ZcwBM}NCeez0aP`_xY;`o|Q^Dff zjHc0g0^E845QzpEcPw`TJ8FWx$X1Uf<1h5PkBDMff?^pklmd`aWf7pF3BSDQtqhB> z)H1BlQVpQe30y|Vaab7gDY)rQx82QL)Sn9r>#{D%sJZOiD5Dfvsue85@}8JeHWOV$ zL{waHfi(f781@n`xE-vVe#JXRU!7e9LTrob2YU}m1P^_amTICKWK^OYSl3kglj;-i z#d&9Fj>7gY7UpW7>`}PR!ch>m zQ{BKpon0D7%>&$7>~Czh>#Y^`_(SOLsS2ckD|MWM_y;TT$RFTsYqB^vV-FXb(Rh<} z)zK83@souxpX*-7@=W9Pw4L;I?;N>~Koyk)$>Ivd<#wOhU7-wLGr=9hLJ*kT0Z&>` zBHKm?9Ab4>@Ni@vqj+*CZs~X(m>n^DoU}amrS;*U?F8gwC< z`)~(wrGSsG&|66NOws|TR|ulVuk`qLi4wk`6O**XRfS+qE8V2d-_pW(Ht-oP*L|u8 zUv`hRL5)b-!aa=Jk`yBljFssI*1HNy5c!NBjYX7gtM5X z`H>daMI>l}zw057o-~-D&xCUNk?0FJ0?+7OUQ^I0J3$ zLac5il5rxQ*{e6F2QPd*m-$$^Y*IWTrc!j0*iKj)usMz!HYiKT-zwM=v)}D;Z3~Qb z#${`sZ3j84Ti_8gqtS}OeyI6KWQgvzZ%k3LKW7e!zo3`xkp0yW( zX$Qs*%ocYEnmQ7j>J{x0^X=aiLsg#wJ5@0RxlKvR z$sFyV=cstd5G9{yTOmAK=b4Y_ZeLZ@hs|PW|AL_S95;5(E@fd+Nqz;tW7!m#&J>U^ zId58mx7@(z+Y0!*)HDT4x!|)S!Q)ZIyF@h~8WQ=OzeD*k_e6Il^z9qX%lxss5Gtzo zoc{~%eRlTC_c14aJ^jNcf|tP`4fB-WUHl>cHdH9`F{jaOzcUva(|aNGpYPY?Ltgck zyjfN@eNiFT!VF^pUcZp^4~O#-SOn4dx4cD2xSyNn64Zk~u@1rH9x1WYr6HyT#66@Q z5w1F>NI7PBuDsM3M2Ad;vc%qV@Q^DZF!p$J`thrR^tho7ieP*l8JxNcnjzw3+kIA? z>LjsVW}?mEpoElI0+_OV0)K#V5+MtwM-m|mNwN5@IEA8$VuVv{l3_ehaa>#>3JpRM z;Wlxxtuc$Bg9L@U$IxH#3#o(xSeM*~_#KU?KzSoWL<&X`LvF7K_zqr0 zw!Di(r4CIMG08M!Er zGL4~8xNl>n>vsangC}szB9HG`?;w)fs&l|{lFPYg-@FDQLb3v-kX7}@T!@$;Sc()@$fcYpEg;WnkjiDB{IRwejxU^cQ0$EEg@C4h$>BM8+O}3HC6SGLc=6N?S?>pSfZVO1)`nRm(*u}B1SyEW*60CrC3%PNw6+;JD*ZE zc64p}q0l%{gWx&@b4ijXQFkq~RwgoY8uxVRVZ58N?D77D&{U|9>!zx~SMhXBBp?_t zlgVuE%)rctiT4S5j`fnm*N3(VBiPv^KJK^bu%e42_NWH=ZFf>>aJ^Vd>>hbvCT-PT zzHEnc*=H91-d4_zJ{G1~p6fP=d-MM2spN`LRm_S>df#Nq_{xukaNQd_^XZN2vpR(4 zkm4em6{+2NfRV796f0^{lsD^UDxV8F%R2l?dm^ckFfWi8uW^3(z9XHR51milCNkmp z=cbs8&{bLG-(r5S_7UKOvcXf%Ld55|sybDw_$Gymp4ikY)e_n~*+jY?P+XF#W2=g6>V=WLwx*H*cxKrNs)y-L6Foq4QY^C1|z|f#Pb~sPM8MjpqK- zNs@DpWVT5L5hCst^W$N-DK~~=Yw5%qN1%y`wmc?qVO!7CQ2xFGDjyV}u4BficB+W5 zzfwX2iLaCp>zV>3dz%Lb?(egUkc{(zic~c$zb_H1YZ%(l z(dX6B_W}+LOZ>>4u$g{``*pQ)xk@uwSsw$XtBOTAcDGeSBaG;)f8O9LCG2E9wykt7*W)lXKj}n}0!dHE@e`-jO>4PH>7G=muJW!M{EiX@{ zvTJL7CsmX^*_{b-Cw#H`m@&gV9Wg{+RpL5J)eg!#^+-L6DdDyu>?P%bsyNlaL(k%p z+>f>%Glei(>bes5^Wh}IVlHwt*3oEgA?r9qUDS@&UJQeJ$0eNCeW~h}_bMh<`x<2B zgm~m8A*d4qhVZ_h9h}zzL>DWTqZUH#U8*diqs$e=1B;+PGQ3lDl(Ym6Ym;!@hTEV$ zy03gDi&qTa?*8oS+at)&pFb$1#7b;gG2yGEJKO^J7LbLkjRx*!^xihPSN%IFr!fd zEU%N|gRjcZ+!kQ)0gVt<+@$qfVdo`yZd%+SPpU3#{d(~_2~xt$kS|5NQMH1IwiVCUrb~{F4y_A!Apx*-dymV}! zDx#|NdDtvujHBnu%YPT+@5ka}I$R6R6HTYt+Y|%@U3CZE8+%9%0J{eWW={}TMYG6${2 ziX#`IF#fFPlRB>VKrJDdb(twF3hZelsHPue&yEmM5iTB^hH>gy=-@od2faRWp8#xc zD*>~{a$*w&mz^kzwz{A^Nxb!Yi?Kp95CwOcaVozmX7sp7A6G1cy+3|Ps24esXDG2L zjj)SR5sW+dW%eUKe3Kfg63(5{aACVVjP zAgE%XMLGz^f?rX;olo+rh+*)gur?G`z(uw2&l3w&{c1=PfPWQXlKWIjr&U@oL6;bY zpHlmlgQ!;-*i?ZJWCN+`{n%67Rlom8_L1^7D{vo|^h1m2{}v$S!PG^YPY)h715CzEm#?>n3bH^UG~7i?+kwvwww!d-vBix5#CRsCTQ5# zH_fru*I~9B9+p+z zBAW=sn4RJ)UZc-edAu%(ko7vSO3omqmJP-2+)yC>66*S+tDtg8c)XM_woZ>^+=lO4 z$r!m4=2S$7fUpeZxr=GMVO@m|7eCA*dJ1lgM8pWy`GMJPnNLfZ$YYc;-t)&KAPKeo zOCsL}8HTz!h7~ana^$^%cyAUkmdI?1B}`WwV4CD4z8t!obq4W3Lv##=Smajb;-4;I zGEx-`9S5CsE>N&|PQM?W^KTXEIe97k=};WEqJt*s+Vjx9$nkC&I2>ei1jV9LIb|>e z^`1Ge3iQ4PtAd-8K$Ro8#-n@JtlYzeGo;(YTsf$Pt11Y2eKWp8Py7d3V@(BOX@uD| zpj0b=c{Sqy0W3h%zX(@}+sQDXQ4M`|r{P5`M}5mB3@9_96_OH;ETAbCAV=zT`yMQcPZ zQ6xEKd6hysh4>UN{hTM)ml5>_`5X7^H5B1`sEj3qe!j7MwwcQF#861@SO(NCwI%ECYT}4oQxNz8(VMUX^wmFz4gz)Zph) zT&PF{%INirvf@klLww}zog_fa|Da;TomHkU9z|HI+?~FCcmDqJ@a%GLp>}1Ry(e%R zxOdlnIsV7d`J40idy9d=?Tw07R=4kdxX;Y&^Lx~BuN_`qzCV5S0Tpz|Z;p>H&)I)@ zFArnS0ickLFkr_u7P_H6LEVoj!d*!ph_K`iMgkdO;NQ7hqLNz*dbx`Wv`i~O>(^?F zdiJEX*)~0eAVt!{cVZ^*ku8Y@{MCJ#ncMv3s$)<+cb|7pD_5O~zN=QQgYM^WnvLT> zvT>TlPPNjglUI|2YHzsx;v(-)UN#~4k7~rF3Xp>c9y|ITDtHSXyV<$tcsNBP|ap7#cU^Hh$H83nf?Cm6X zAG;!|iiQ5O`QpBvb1L+93m#>Q4IG*uop!Cny*8)XAd3*Q5@nF7s%c%rOhM=Niesw7_9|(;c2INwxp2Q| z-JP;^x6l$d?_RX?`bMofuPx{a<#H z`UmsVzs)xF=>rO=UfAzHV76HitL|&M)UYjP+uydkES83eq+hZm)IJ^@SliWBZ`*}G zYrD0rk_QLI*nVtn;s2IC%>}KkO>NN+msP7(;~L0SH*0fl@bQ>A*m>sxibK6;Nki^U zvjw!jD-TqCqJH<>y)P;MScOejm9ORA1wN>-drM0dbJ=Ug(N=v5PAbz}^u!tTYy(E#?(`FtPe;Vv@ zNg$tWIqhTccd|Vp-^~fy#0~<(VG>YWD%Z_L`a>{=^3A&@dY!! z0zDaL@(2BTk{NOXrLI3=JoT&yJp&ELLvKRx`4nvcUf+gJujEMelzaNGK`=(1;r7Qc(oZh}IS%Xh=TG{^j!W zU9Ivg+eJe6>290xES3hyf*1K{yEQ>tw>61f6%l~yt=1k40T4AMVR-VOI{4l*FSknK zzG9LeImoEZyur~uGD)cRSN=r^i9x6s@-`ETsM(&Ue4vg(pcw3u94scrKD6^Oqvoj? z`y&!_h>dEsT0LSU)ne~H97fB#FAZj8&@Wso6D|4pUU2SJZ9(&<_om5qqy7Z&pefwSN51Kr2`iD##eI9=;|!zl5db)= z(EAz}C&JG<(sxJvS;LnYV1V>x!M?mwoBtevK2M-kn%h;hsBgAU&W_Y;73i)C-NY_fY&WWsXj9n`|9B%-~QqTX!@+$=bbr zUog@aJGmCQbmJ(C`~3`e_KbG+>^4ZVC~kFYbKwx=TwWSlti-7J$&)7v{05UI#cmq3 zE1v{REx1UzEogEV5p@Kz4!*IkBI=4v^O$D;)?B6HvE zn)xov!b7&2+o}h)4az>M3|zKqhpmh3+FdAscXA`aSl0-FEZu5;+-RlHd(37R_BI&Q zVz5NBWxniZ3>)~+5`s{7<#vj=8wYiiCRGq)sa@%8(b3t0#W$+kB6izh^+cW$IeZ`Q zLHr}pC7&wf+f#TzrLuV!+&k!egLp=iamf1y7Kz5(<<0&{?{&KYHGR_4^V5=w^$i)l zA7vruG@MU*xIPsx{&eq}xJ~8F5F)BI-3oFy!Y4=f4mw9=oNVBuDdjXL?;i7N>@1Zv zcMI2!-q4kHt`GR>^c;D?r~90*?o+PgN2p`I3c8@#ebq)%i!R*FU6=og?@eZJjR?9r zyOddIj125p6#fzPh~-gs$_zu410d=$CN1$}!qOSHCuHO_P!O?2j9x^@ELS4wAn`^3UZNf`X>f^Tk$QW(wPWy83M5-U>DePq$yfF6TEV}(;2~qN z3u(?ZCeK$IJH7Ev<<%H~j}q^3iJ!Vaj>NByLwTn*cFTve*T?TKj?Uj7cTAV{m0>#; z4rmVkQhLCk(+0{%AIfY`ufP{FYsMh(sz#r!-y8ZR{Ya^ zBOdUmdEA0jdHKlemCxYg?jxT&JR zt`gc|36yyBHSWXX;y!qPE$&15HSWXLxDQ|BKA3SIl&~$SXas7BpcWAG{}`a^N6FdC z#O$F4s`l%Ft0TI<)FK&RT046rmf`)QHh*eAYt{DAlqkJSW~1BlNq}~?m)>Bn61b6L z$O(hy)Ar6Nhz8T)Ho_P5f*V*TFg2M?n_heEh5gcAuh-Lty$^3xPrv=P0`KhJk;UL1 zyo9M3cv*w38*3z+{K~Gf)2i-59imo#%6Y%yK~rFJQI&aX_fD2YJBX&51aEPvhMi}x zP;gJuIb~H4C~Ja9#lr9m)m%zaEklOV&@z;6-BvujEY6-1Bfi!A>2I`A;Re-voGfMY zu6s{%j)5sa8I%c7RAcfoflsO$Oz_P@RH7=Imm*Z=UdD;?vJhKAub85vMox4THOlTG z@k4c2T)k^vXI>Vcx2gO1vL6>#hv&80MXj2G}c=+pj97`0IaRV<}c70v6;CV?EFYC zWInaZfbaCTS)Z70RjLlDa|zQ>+bxwsAEMRZ$5zyK(AFsj9m&8RVY&DqEF-Cr);_C4 zAI?$iVF|@Pqv&@%IQRbe=i`686IHx8)<`sGl5V>zgBdFQ1`5$Z&K!6NL5&|8gy5~K zALF?F`k}_&T&l_*%?BD(bsjp1f|mzH{bwKx7_Zka7)Jbu!G^4v;x6=>NYR9TOlkl3 z)RcdXG*;ic!}o`8FJKtYE)P%7F5n3UlF0@}v)Sw%l2vK$^Sb!u_|@Ur&y_p!jfbyt z7<9>{woB->uv?Hjhan659wl7jYG9Q*f>m;t+jl9`BxJ0g*llF8Dtv3^rDF%n&=TrV zbM6*q-JQmuZQi-?0dVY;3gls@hi|{Ov$g4Dm;&B@tNF3k&YB;$U}=X{q2@SnKvD`tw8)2u$_#b2x!^td#@)x_{-v<$$BII=8lXVb`lgDxZmSQ?v=^ z#=Oe)<-XVkU)J_DbrSE;5#7l5C}l&@9CggQO}qoY_a%G%yr5fFt8SBRD_I=zy;ldm z$=fJRb1`PyIk zdRQuVXD`7!o;>`vxTKVVAMV)OzDdn)V!pki$h$P+Q@KFW6y&cQ0Sedkg+fMU(f}k3 zZSZKJNpRt73#W{^g*`Ms#6+4HpRHXP1XIKc#!=ZOBPQAaD$*{b7Hx_bk(W-|%HHANXdy!S2$H&_xBDjz}0G@BY3_~AfhDmpN9 z%zG|ug632oSkpFO$jm3JYMr*>4Mi2mQS){tvvgRQx+xOouo4}6{*dfY?!+k+Ex;5K z)FH{n)=E3C(8LF()8`l+IKSF!e6`p3SJ-Qm80Q;Uaux;@!bt{yUNW%6sw&{f*@qcp zKSd>Ab;6h-ibV(`KZ(;+hBIQ&V_}p*_81aavKI^U4z%__=w(4ZqZNgq0)(Z9P}NK0 zix4%~=u4ns@6aUPqfk;w5cWf|L80ekcqj^yBz~mg+l!)@-RH@%OM>Jnz`Zc)hc`Od zRXm$o-CN7p0fnsy;;bcsZwahP>fJ|l4(w*Ifs z3gv=KO^(n~<}{jGZ_xThi1RIylUuLZ?Bwrg`a0bEZ$}A3uw)$PzNm4RvzHy zlrDoL-pol0@(Sm?3H?H2Op`1sZAa1Ia!Gi?oV_E7UF^1F!V6DL(0{|o(Op{reH<(a z-TR~@24WF-xC9%S+R(m#kt*p3?<ZtX>#%k9oSd?z!E1 z!E8v|3_WP+05somKJd%}+2Dd1SjwWBAv5j?i~3kDxjkjI+}v#&u+Kp294|Q4gVkFQ z6~78nKueoGqaN<_G|gLB{m(3_O2nya3(TguB&+jbVM+8hZXaJyn&^&@) zV6SzD)1%1CY967)>}@4zUuC4Kv3!LotR^PxwS^XRE6szVsBEDv;L|1Zs_E{re3m=p zWvk*+hs;UP&7jWrI4ES!vv8yMxUpWFrAe(DMztWiGSJ60cZ57&{GdJ1DEJDy`xSQg zE9~x9*xj$NyI)~UJu)AMjcfZ2!eudrr3cLFi zcK0jn?*BE|T{o$R(zqkmAiSPZU8i3`cohh*hakL(+pD9;EdhjP2d&nfNVi%D_T<-_ zZFhh_-8yyL68ru?8}@dvZSQR1@!oOA(AVzN4W0abfq0>*AyN+E@>%_E?NL~q3!peB zb;A;(qHK5^qn`#^IWfx#w%1+^Sc~eFY7e|}6Z>w(equXtcw#?s@S-B1uQJQcqsLNohJ_J=*XB{EP^YdjY$xuxVrawdgM)?`N88J-oBhS{dm8Z#CK@>BEU zr}kFklkGeN!K2obDz z>y@GTvc6eB-PKQorYFK>O#;H zbKV-B4Bs1;RPw4KWSfAKE^k#ITJpJGX2T1$?QHCQ+iErU+X|N&UsYKK^ptTbS@!0` zW#%4dj`EYumR%U=9Mbh8ma-u(1!^ML-e`p5^Wge%_Yfqpy9mq}Rs*Ozk8ccL-Zu@~ z0a?Bs?YwGDoYn*nXfGaGhYf|zS5m#=;nqsUT%|GGbWO{ z#-v5sMnvsTVifi&drqUWc{kDzxpzJ-F+~3iG=QXz{J*f}UAedJv3u=)#<6E}lQ*O$ zT?Ub6H|zUPYA-81U5yp}A(idSdk8gnO=9(--EN&@3VWDoW2TMft#^{_z`pk89nr`> z$h3f|R?($UROe6_Z?a+0=Z$BX)=Is+emfc1pmbk@bIXLwI9 zyyAM`cM@M?Wwbp*Vit|zH~4~8OsO6Tt%dSr`1l51(j{!I7_HkxT=79L?FZ2n9(8-d zi5Dg*bcWZXpFV?xc|Flc0jCuKOJ?z<6M84cL{7Zx;0p#vh6I|q!T~K^g~CXJQm5j< zsrle(%xr_D`hy^+XAzpFS~vU@G@r$33GbBvhs%M{Q`k-|g6<&1vsr2(CuI3B?$ZDv zp(&O+VR+!X&L&shXcmY9Xu~j$Kj%APAPRF0gbYs+wCfE}tDs&4t`DPrjCoo6Kwb?A z{&bUD)#G7ILEW*TAzG^t^mKm&%MIHB!>dhZQ|Q`Z01bqxudr7TydA9%;FZVm70d`s`>1@!_roOu&d?#a3H%w_Neipx2`npe z!j8f&9Rtn+18n&y=SG{LemJlw4ey52NlY~S%78k9xrZO%pby_HE&vuK#$+x{*m}L$ zcw!B>K=9U#ZHK}I_z(wJ(I~zq+hs9jaJcA89AFw{M4mqkaeP$H65nykaO(K(xj-1P zcI{mi99uh{6?ad=FffHKP$b z^8n#11HCO~!RPn3$TW-l{=V%zwAUg6e4keSRbcwV)hTX*MyM=7&MJ=HVvA|?t~&VU zWux`6wcXkxlycWw20dW<5G^&T4xy%~UhccUrmfX098X1ieVUHvcgB`UcJBBkasr#h zUz_+KStTP5sNLjm11q8*6t!EV-=`v!W>TUTk{|>R>8y`l23?@LXvu*6R1`r9O>H2B zM4@#Zj(WbA^a#hF76(|~=*YX|wMSYPD;)-~Vz5vV)$EBEQXk@>)-Do%JNEs&uaN`1Y?#JfGRthw4tpwm39$EmHe5)q3 zwu2tCib4Dara8134u%G~W>8sd`GYi7(6=O%6?6(_!+yjEpiUqSzf6WjJ)*iu0Af{T zB9#f{eZqeJP^(Bt3(qUkUFLc=*!czLY#!zTNYKbl7g|u(KDKt={c?WxUwb-S$AY)s zXp4G*67%nSlqQ>d?tHk7 zwT12(?jU#T1L&rOd&l(>F_?ypT`Z+r@4j z@aA{4aK1@<^h*}IxG|wRCPjO%^a^9Vl*Z(HI7US6+@;qtozSFc*~a=q0&dVP3#Xf&zS-mev)@SBm|@x|my>R*CzA78`7Ev23GX93(`>{t4=lvjPFY-s`2Ye*!bE zi29yt4Y7`Q#20TPe9b&)O0IXpoZwz9G&|c3_@bLTTa8wGF5YJ0s!FATD!xol#%$~X zfgd}2S*5Xufp@b0bmF9qJp?auuu>OE7HMipIctt>jxHW3hRZI5w~uqLOxDqT@? zr`Gs(qb;6mEHg%cId$>eRZr(N6ARGQJk=@U%*{C)`;O}uic)9o#V9~pxak2ut+WjK*1A!PkcUjo zdg^}J`L$_%DzmBUE9i{3Y8f*4JET;`q8JnTK$WG;<-Ek=$1aPcg{QYR4aLt#HCZE5^f6@`#4AK}9T9S~s?2Il+gp|9)^@d> zRa&jyHVUvDh85g)jF@rTc5&XP1+Q1(b|tIc=bLnUl&@VelxD9~&{O$@K`|Y)AgJtQ z@Ny0;A+6m{TTQFIWddzh{uCGfnY-{$b)m$K{G^a0KYiN9lbdEWfByNWI1MR%THXv} z^U28La8<0k@9yD&Q^zTbW?>r_h?*^#09sKfX%F}&tGN%JOJpva9{7p_IMNK+Xf^> zc>_@c&mqAW{E3v7LT--s;lMv48;SCGVfM>Gq0taxMhH){2o~LlRHxBE2kR1n#3-!u zcqR-5`e;)jI+n~RO2dLNFq7q_V-ESnvAzm1zT|jfV@IKnI|Vlbn@j4O($HVm_=26O z#G^t@Ihw$t?E~CSc~-EK$-qHAjv7~vF#mCc0zG&?hMhv2ZNi6obv~OS$$t9kP{_iG zVX?09y*NNLsp{dt7*?d zNWWm~K>GAz{Yb*X6NPg9KtO~Yz@WjDCpfUFuv+gh`WC!a67~jxN_5!f9(q%iBnaSu zV_GO7I~K87u}urytMi{R;z!@=oW&8vvFn_{FI&!Fssl5268MZu*6EylI6JyLJwNMo zAoK41@#W=z<;&FC1i1lu0ilu}527_tpVtqdTGif2JUNmNj*8Ev0`fiMPeX#CaI6}# z;yAnLygt4-{rT+h^7wV<^z8KV^zhB;e;>ccGat?l|9*J-=J3^*{hS@0W=C(bqqo`7S$1@pz5O+N`!0KX35Ux!+1W*Q0p%CJ zW*<(o-+s;hapbgG*W32vW91c1Dpm^wUnaJi$Avp6L24^<@1=$d?Zq*pYa57{&XEJV znlCeUz_p?xR$?CpBew6u4T?3@&OeC9`J$CxDEVC)q%)vSTetCkh})j|Zi91Zo? z6?BVW*_7;kXA6bq>fH-Cu8$2aw!M8?{E$6r7g3)Cp@x<#unqb{w4U*YXvgOdVXwzu z`nita7f&J9hp<_sU%CM{No3v?ZHAVHesT*f=yk_@F(k-XQ2@nQ9DEJdRl+MJ<2tgY zk#@TL84r*{#ss=Wh-4JV6cOMueJv7ckX%s`2la|TK?5Hx57VhIKt!v=z8_85Oeczw zYzDHdZ`ky}@v}7S!vifCKr;CF!;PZE04PaH0CB~Jqv^DJi}+YNMb#6Hgy`XQDS+=K@1+uPdl@KkST+jF&u-|ko zoFmdt)-bqXD{C}{Mm8mkedv5L zz=BzuTAyKYV~Nnnhks<-WpR8fT&h1?s96uBkv9F(Q_$9RgzSk0+ypG;@PS$5&p0E; z=>Q)A2Q);6L*ifIAw`?cTPqSa%u&oH-x7isfADq$rcHW4-X~;bs!dHppynp*NQU}e^Q`PkxWJH43Hr{ z{NtHDLw|ljm&_tsg=Z19K-jwjdqKT}P6vT-J-|(EMs<@}VQO6=II;(Ci$4?ihOdDz z^DrDAOI`{1nMDEI+#8saH!!nrv!{%Vzc^$U%9BavQxdW(C3&)R=G)If*Q2+{UAY|F z5LZW)T66Q8gLb9$v31?*W*b1&R`&Mb*V)QicW`XoXR>U|L9LvPp?rj**TM9`<~MD} zb_`WBRf(oPt?RpXK}ko(TBWwFZcMJcwRN;vsNqkBKMnYK0)ICAZPXC$pWJp+^q$$Z z9lc41T!KON8Y#S4>Q1$bbySJa7H?15;z12Hf(PEoP`K5qwVf?^QdnA=x(U8sPdpi( zxngyAqdTcLW4BBIX_)bRthcV={p$W~igrA6VrigKy;7mM_EIW=y0^bHzg*uWh?_0| zTebGtG`m)^;r#V^rSb|lV|BE2fVbkokaP?*C@38A};%~ph^=D`_T~C zhUQL(i(A<)oIj{qx$xJnHjt^5!HSBSye0Daii`=^X>VhsDahUE@Cd4q(EFP#T_ybh zCAXc1lQo}q+U)6C-ZZ!zc&=K8971UfDO&9%^f9gZnb-<5q&>LI-+MT3 z%GIA07{HRI%6NL?>`UUbXelfmlpd`>bXCKaOJ=R6+XENiS@o)Ldbj4}D&X^ED2qn2 zCHInA7gf6DH{RjNdpJ2KMOf$;1N)m?SSn&+LMxt@<20Ht?%D-=fCUKErq7JY#a7`H znpYnw&3UJTW{{oErucZF;P~t{<@2UjOde#yhm+M*;K?EtxE2d+ZVSCkr*-pVzuLO# z_f1WWF5J?T0mTQQn15~bn3$Gf{m)PNm#qdge9p8~pKaFL4O7{UhNvapHB3O25h~WV^MK2ED9(N8eSQ=bW zJ@E47OJQq+G#d)V82-U1>(>6tb4T^Z>*%MZwp;g0q`tqd-h0;wa9@S6Qd@1;*lVGC z-3T$W3kGY8gZohIm@Y<)*@m^TLkVYVKD%Ru48&aiPr2T}zZ7 zDYEf8JUX<&Qn^_OOC0Q$uUK8a4Iju}KtXsYhruWcdSTy;WYg&!L1$l(`sDTLdpe$+ z!W!5qDqKh!iHWzzm%p69rX=bDF5Vp;@rld#ho_g2LYYtC4`Y_bNT(lhBmukHmnE}H zM?S?Yj*hT{!mZTez@4n5?23>sTC~NA8Pq_s&Wv?5{s;|NMBr{Iy6OdRG6@VNrPNdA zJjfA55T#A>a!8{5hz~5tA|W&q)vUOL6mw&&BxT7IBj0ljAF0PD%gCyqbU&jaN3YrkG#6n$LXw}a!qg3WJ>LYeyU=$EOv+P}6 zvAjZE`GzEQ`hqv%IGpOU@c@QFoqP))RR~j8oj;4;lh{fXoX@7`{Z|Oto9f%B@IAs- z=gN$?ITsLf`aCnT>VkKO)Wcm`sOWuwn4#fSke?^2xH!tjiPGU#=jR7lomzCu;*$9@ z?~#t5FTP9yvzpvBC`=j~uYM5(pK&g#D=sD@3W9a}CX7A@y*Ic*KpD=aQ#9@qY4Q0` z4wen-IL!SLcoRIn^=?!$jAWAUx`5}PG?fZSG?*0A?}SA0Kgk*p3RL1^iV`wR%v2MM zv4kA@K1%D3MsYfWMgQj@ zk{`>okT@IwGl@Z=pof887=?e(7k@!ZB_%I$o#a&FA^%C~-(bsnkD&kp-0Lv+7P?N& zBQ$LI$4uY(Agby{Dz6krBblRh9VZ)c^Ne1aZoL~qH zIDE&4@A>cpAAaP+Pm4U-6u;m<#4($}lxhSYV}is?+f1Q77>nv|rGWMK#p*hpp$D6Z z&&zSLv)y=MyX(7d8DyB27!>Y8?d`NYK9eH((P9Z`U<%(NspiVwURK?AR%UE!3*+?8 zIb<044-~&I7kl`{U3+oxo#y5@tyZ&bFTsR^31u&dq9f_i`hLNgb6Joi`%!Kw3+9&y zahohMd>C;wxUvXFb40umy%)$c+X(nu*|gh=eS0wG(V7t{nD5L{*V>SCk;(6(Xu@WA zq=lo=E{OxJfadJEhS)F67u|W%uB{kBt7L|hR=!egG)xbR7OFtWOhy!`U}<3BinO|f zh0@aZtPmI+nf(epDXTjT)9ExXq#-HCyl{qBDlwyRwbB944JLCNDk8j-tMehz!O}X{WHT|4;Jx#}0FJy+1YTJ@dQ)@s@CJ+T(EF4K z-7>wwh&3X{%;9VrV+0qUbruh_gDok;AbrqO7}*sJ0Bp5d(^d->WJFJkw(aI#y=`wt z?zE0(9p1K`sY}qwC_(60RL8)7zwOnau*MMXQI z1&;Sxz`+0IBop{wg!cFar}!PSv(}b@*wtDWg%G83$3+|Nt>*ehTR_F#72)^h1ZK&$ zSMa}-<$5T#3p#`L3Nf>j0@Ogk>|FG1sGgT@PnU%nT*0?KUHU}hfpaa+sUT!?VCrq! zE0{vv0-GAG?u%rY5(&bob-kT+I`G@+7V>}vVJ)!egTk&6?mwEP5Z1pA%rx%yJVvf3 z^N?)!sfxH1Ggvz{2R7-HgBX!n76Nz+@a+-9ZWGuxOC{Qd?4b!nAV0U$p*VOP-)F?3 zvZx>Y5JA4X9G@nps7=%vgzb)*+i5_uE0N~VcPyKt@LGxNwlN7BsPl;86seJjm^R`$ zV)sId7ANCvU5)7;BwvsPp?IaSk}@!3~AR8w0}) z@lk4UQoag_MVovFa5l{*3^C6kAg&l^;g4{FlS#_Ba4wOz98IO;(I}j7xRDc&KZi38 zzi<{$PbJMq4Y)*s7*vF{LoJ6i@s9KqI+C!6kbcdR;|=%l8-6sTh-D3NI-KjMU>Cuc zS-^vJLA`J(-s6(r;{&>f5E!UeUyP+x+27yKT08i^W7U=#nACDsBW6@owWDm*45Tbn zn%osMk_Gk7oNYpxR=h-bU#m1{AKDp)e$Sf8drolzelX)So;*?heVAIVkMP<>RnjA# zWZTNS5L18sN&OR}YRF{x<2>#~+|)H;bQV?0E!B;FWTn(6P@!Ys_^g#HNi}ax)q}wp!Y1$w5TerbQ*MYfUq6aKcTTk zW%Dk%chHA&hm)BqgrZMww_fU3X_71RUzkyIhH%XAfM#&qCLI(PH-G;RR7Z6`sb2ZS z7t)DOc?DU8EJ}3av!~mTdFpIA&CwfCQBkLcgGqPnww-ObOkHGN6Q7G(e=J;-tLf$+ z^4V_{^qB({8V3n2j5`wZe#HP3d4{nia2?gEV z&b35sXO)+&T2_VqvEgL(92gR|O}%dy+e?DOIXMo}zWEK%Ew}K?q3o|>8-s-T>T$ji z@PWo;&w#{hZr;^jv?6yU36cR(poP*Y(bHk>R6ec6R) zP1~z7O&BzBw2X5~NkCzazfVKHj2SdzB-AWyUM_0FoDq{c#6nn5tBp=L z#%A}C=`Q2k3No4GA&(haf+Sp|UWg=WLFw{@J|TC z+dxV-cO=xXqmsDjZ^6E_gMd9fr#C>T;Pz|6XU-G>k!jw=)2z> zU!uLE#R2P5YYek&xZ`!ZB1H}XlhC@fPAqo%iTP(}5nOt7i+|9>!(?E2=?;Ua!%;SX zGW>8%3Off#1<_TQ#1U>!n3Z+}kVMZFbi#ln4(*OKlc4+qlAbJu0yPL$(_<2Wv&{xR3;loK4@21F&@;3-MG-%YNWX9K-2;Dzomq$x#yd~P zEb-?!*^m~2r>!vEVY?Jeus?YyIy^KxJk%W?stynH9gbPuI>@nNo>FSM;-KhqW#|C| zBtCCSqw+S?g9b@p_>+(x9(nvb4){owlHoiSN z9ZDz!^aE=H`Jdoah98)G>{tR5y5}W5!BVp~NjODldYpsO90od;W)sAWA|$=F!|%EF z0?xpCOq-6w);XlouGq%K@YzM^3e^qJRHtX5B+TM_Y-jC-bar61`VM0(RPOFw&v_xr z(37j;IXh70vF8tYrx0F#UNb;dEXDz&4XYkhLbIuEAc)kE&kIsjwz__|z$QE2oRIan zhW`RuY3`_d>rY+Lp4`LNa^ho8`$ue`2MFxf59pm$V5H#2!%sUk0+`MF5Jx6S{e)q@ z59FS=?bM2(lg7o%5UTQ2(p=Ms6t_#T!S7asqKXV!q(&&3Df;*X`Ixh<{&<4FSYgg%41YEgYsctz2GlE&W#!Xq}PL102 z*gG}6+3I&bDQWGKN8Fij?PKoDxAsX*!vP!KEJb&Zc@LQtyif`n67?~oJmsUJ6n8pp z_@YdHXv`N8A8#=6+w7Pka$C*GJC;whdfOoze=oYRVqWVsns35(?uH85;sR~n+d?zk z9kRex;t%r{12*g%(G}kq(ubfTA&aEBNQX$_noFQjFRKLB<&?S#%_{=oquQyh0&JJe zy0@#b32XCwf?yM(QZ^xKz_K#OCPbxRwvpx&ygGx45uiLqAZe~Q>g`6>tZx6=KFD6a z%=Y)Q`kz_7UT-$;r<$k-47SLPp4=$^1fAjI%tv^3ysBUdyFsz2d3fElVD2n`4LWtbGCEpAm*DKfeu?@MAN*nJZ&r=FJ%pNOLZB%VJDOuQua3B`Sw z(TIedvX^SdUk-J|$UD-Wn2gcbXFg7pK{Zm@$awSurno!g1}f4XS+d26GUv{59!O4E zQmM8m(pJ$xes0q-46!s8zrCS7>h9fcy%}j`@y47%SlVWj1+7o6Q#Ekm$9jNzo7}}Y zS#a@A;dMjiWYMPWv@yoO>U7im+=bVAZREZuCPc^R!=s(L6BMVFxqeiCJ$jIwW< zU;gv@w;NbPDoT~&l%6*bGRsbvBTB0CFBM36+08Y1bFJ+3H?n2ll%1`Ld#j~2XR_uj z=X>+2)u^;2?4S9*;>-<9x)Tuu0@08p=Yuz>S*Zpwcx^I+S`WDvJqiV(pAC5jI zGx2j&#e~yr-8_3*ZQcABw2M`=S`|M#n!6--MWc0L-uCikv-)Sd@uVTVYfvVFD5+Zv z2AgiRcG10N2^?Rsq8eHfE#ANBIZ}qk>9q%DGu!;QgA!FjuheU1?ExJ@sbJr!up(lB zI*E#@G=P#UaT=l28stRuz1QtRs}jDlDDg*q&(rFzxNz6FaBW^UK#BpSATX;e>IV$+ zpr9&PbeGmUs0+|AuKpMU%ABc*xm?94$G%&D|5G$*7)@{P0< z?6W{G)!a&_?ul?q(4*Ol41ua8H`-x7)XC4@&pE-lt2^r9&JjTiaAz9jn=9C?+}qma zaO@IAp&YievJUG~!)fdly-^p}WbaW-&ol?oJyoqO`iJ%0rLn-!zjm|L`pwBIn92?g z8u%T<=pzz$^W(v0gS|BKa1Mo`6*vB_XM|eL_*U)4yVeT+c=Y7!Yf>lBp2I@ zKuzaicgy#9Gel6Cqo9NVCQ{zS^R9i97#lI4tr-kKLZ7h+RyxyS?zcVuLwc<8vU6%~XhFt6$`;{KKCbrf)TrMcf|1MLp; zW&<&UD-2TLkZU9T>}OO~bs7Tb-8fVx?AwSYmc4fK<9>U4-(lT|Q;e%!Xq57v?(PT_ zmP(>v_1_aSWaxjAE?G>C5e<^8k9s0C9g@{q2p1UM)S)p!FvdWBo4xqu_|@Ur&#*0% zFXJBbUa-^3u{d`0lA(hpKFq?>paJ@Bm~#8$mP2J3?GTQ3lj@ijK!B!Yi$XH)n+M~|7y z`1~3>pXvoZPfl$XhwEKg9Vj9`^0Op1?9Rpc7iYKRyUmXN8TV^r?{eU z@cV;x4C1>kf`rOrC+wjgz&eAjcVty&jw%eIt95JQMWMe=P-p7`(o7yZC|+Mzp0_aX zbOuIeop2J@8E~tE@mo4DmDdH0(7_md>lTB^cKA_fcP9=bsEYxn)`f#;*oS+8QC>%o zU2WKgS#op5U1S|$jn)~kNF1=DvF9goCxNG?s>iTpxi^Lad##`jq`7Z=uW5N$!@$^g z*Bf>oOi%b3rxqiDlBFv!^L{)AwjE}za5K)k5&LL@NzTK!kqml>ZodqO%uKX!`=wB@ z(xsPTQ3t3Ofyqs;En?6jBp(IF9m7mj0TR(a7hQ4%L>McnQT}j|^ZX*9XBH_)$J|*! z-nj%>CL}V9eoHXW_>qyzZkS9lqVqLSGl7sd%=zpZa)Ar%6trKo&Of7;0rqYwRG1bp zQ*(9#3&1QNasyLQ%AJRhIK{ryZP?msflwZu6@gA`No8Zpu`wtIvSD^>7wDFa9Lv~k zJOR?Ha?`rLdv>4A;PBmj_5lt*-Df)}4Q($a!)i~ITq}=BUM>M$ghNniKHWut9Uy-S z@BbJ7B9 z5qo33Q3$cLEF@$Bj@1y$v{$l~VH05K2vr_|d67q5QHx~)>t3v8s>7c-tvTZJCyaMn zJD{ySs!fZV)FkkmUfbZAgFG8!thmN%peJW_e+9ROltS#ylQEL`4C+nWBh&mYQeKFu z8F0Kt*z$d{X7n$71Bb6)+*QcW6r`QH`@q&qlV>!j{AZnU^;BE03(p!=B{cOZm_V^298^i8C z#d#3jR)@GpvU^6ATrfC?^!c=!V4MaT#u3r!bgT}%F?A8=2tktu_6jJtYT-^%It;?W zaH{jyVUHS%aN#5GwmRl{LdGS%Dpic#KS;=FLftJJ8%A)PnpckFC`Qm-dgnL^Rg4M9 z3BZFY&0({ELn07EB3~SXUI$6a6<1S#7*LJ680`+ysZo>!y%{!o9E;}_PY}vKIiCCE zVG*S9XeLMA=cSxwP~6+nuLlb@xVyW%ySux)y9IZ5CpZLmCwOpohadyNC1`+Pw{p%t zdmnkmNkC^WwzLIO}NGbT!zrHp7>Ya6rj9y+ZXFcZg>s07@Y;utS4saYC%91U`f zCQ*avm`Fo6{#gTbG!HEbZpc9_mG)*&+h;-K(*3B7ks(T(_yO}S55Xo}#81Peu-{k< zOMq#vpCvdS#27}Hg2+HJ=x(hSspY}gZKw%<$bDTlB2NUtX5ujahQt5PzkLR)w`GnzQcT) zJi|PYy}pg8FUMNgOBIqb8Z1u52X<)FYFVhj&Ek8fvX7-_)hhd&npa;buq~(3EejZD z$o6&lk$i$hmxFgegU?B(<4l-<`ypcyo*g4Vu7$#;SCaz|pYCQ-kAQ1iiTq>aN0RR1suhWe zN{ZxW;UHEV#<88MsRZyu1LKp)K`{&od2dz+&Xw4Ru|3?+ZV)#l7@y23yR9_pbSq*f z%xAMKnwZ2t5nD(w2CDwzfiBiyE9ux32qwionuKZ18~?ZI9Q@PI7pNjJk+zwiH(dXi z%weOgtIkV6**&jz$y?OBaQQWvU)@8Gdh=lfBz?474TV}BLy~B`rly04r#ZA3)U<%w zL0hVE6Q+Hj-g$Z-P*8fheuDk;v`7Wz3dvfqrn#NWqc150y{VxZu_E5)5>lyMw7MPx zr4F?{)kOF+?yseCQTg%ck`1n5tbKvTuK%!t)Y*T;@Zk6xA(ESD9xW)zDH zqo2o{^NYrgH*Lh{rXB6TtQ^HQlk&b@ECX-dS4lAY)|eInH|NPzv~GL{Oq9RW z{j_3G9jkuZAiiA08iUCd%f9ZAhC2o=dBQ&(2SPOQuksuuj0sTw6_ihEEA7gDcaIG7 zQ1vxMlvA)*5g~w3!Y@X=FwU@#nyxoYXh>>%8-*H(LBP__Rwy%ebbonw(RKTf8EKX2 z3lG(G7B>~V`L(C(=j63e!pu%?-%ghvKA0zjg7iFjLp0WFa{n6!K_h(5SS1ps;_Q!)H`|!fn;)j8J zLY(-6ts*b|8cF5$qy0}so~AAYcGht1#@1U4Mbqmo#gvePC{s{UdiHi?XJBPEE3pcn z@qGChAi?ym6}vsuyO)_BvS$#MhQo1S8;I0L*ZcW2JDI7cnwMUk!!ka%a(QGaQ9`xlzJ(Sb26^O#HC_;VhDkp8Tp4s zQh%|aaH%Ba&plu}{VDSI`XV;A!{+8Md~khJA@ngWGqJZmUb;q@cptlb>*5a*cz8hiDCku=y#7Sc*e z%@J}$!a^f$Mn*(>&RIwUM5zpVt5d`6lQ{laZeT?YZs~x=0yU@|f8gy6I>7IoMWTy7lex~r=oneSnW_9A;o&K>npHM8bF+zq!E3IP{V)PSY)H8S-aYUqZ zm5m+&i4t8?$G{T%lt3E3?{F*jr+)W6YIAyaA*Aa((Pu*5U}bGS)c9%*e<#`%7x=BP zLwz*gOI_HKS`?$$0u7s`2WLH+P0l$nk9$LXe$?-oEkA<1lITyNlFRJq|>Bd0|<}%ug7Hev?aQf2q z+buX(1!4eXryCy8e!$sl=NP>Lj!B}&SVNpU)QaKPfesRQjcO&vL8^_Ee?dNe$lXOX{Lib7_Zg)qdcP3i!O(*8kFoSZ`llW6B-G@$9X1;wp zE~%pJ={b1XO6G5!Rzm@yTwR6VrJtZn=hLy|h)ZrnDlbhdYllU(_%M7>|85ii1y(hr zpL&M3)-j8+Mm)rJWUugWg&zFWN_GSqI42#t82$WG8GVSOmS>KWcL@xQg`=oXyob)n z)smK>MAxOTERkuk?q_bZKSUw6hCFhHAL*y!pyM^1pzStHoR&aK#DX^Er4Ex7P9@aT z6~ir^7t@A;g~X9Ps&GVAMGC4wQqM@pVAtQxMJ~TLo{Kz1N3|75mvS0gBABk_DSox4 z{EDkx6o+iw01S`~kytDsuN@Iw|U*i%o%ys!3zPhS&Asi%`hKQp45i7(%In ztM-m=(VVcpCX{uVRJ{@&Ir*wp*l8lf-p(0QXQ2OGYR|48y*{_5(v*DNWsE{a>1Pbg z?lg@66NSRiIGyCny_u+h8lOzaEy@|H@APL+%wKKPC~W#yHF)Tr_zn|fs?6y@XN4F# z8BwnW7N7c0sQYcDHb%$kN=#MEQ$M1AZ(5a1h%4p)EPQ@osd;%)y=-Ky1)V}rl#-lT zNDxy=edn|up`yxqS9%Y=Kd3$wUub<}J`>e9U(A7?!}OszB&D_os}MmebG8{46$tMi z^+l@EJ2VtSGMD^PLr>$Lxq^EuSo6)>Rb*F)u8U5R`LYrTd-3oH{;4X64Y79$n*&?- zSONPo>jVHr#ZVtM7zdV2p;L5>4y+ZNNTm;XIhV`(tlEcZgR_zimtDpb2$7Myh!^!~ zNhw75v(AIJ5_8GbE6yzi=O#JLmot&Qlh^(=D)W@aPxW6Q<3o>`$vQDK@VYr!Md!bmvkl z##3m+Lgz+h@j7RNxv7236Ws4Q;BZ>Eg!k; zs^gT6H9S?=KL;we;mry%rG=z5GSLLe(_8F~$GY(C0?BLwt@pxnCU!r~UAkV%5-0=9 zQfg|3fB00%-=cfZkm8i>aWK4NjR$IPnc?Dba-VvKaDLmBlyuPAB4_M7^kB8 z_$%lTQat#82@9FegVpGhIpuf#k{?ltFeb5BbT)_GCHom)Qb;Ww7S^4Fg49t_I-@ow_g0YT(h4c?SKdK0)B{^Y8M(Zi{gTBf_z1qOv z;Vxn75x)yL5i-^|j@nW^Se}s9!$KVhu@8)bK0vLE)WSar;+kUJR+sLAc}qOYqmh+- zJl(yXoJtEn(AF)1VwhxI)0^jNR+mlvm|SYs3I1F?tOP%#*03x#8Kzj!g@puGpJk6{ zuv^T6*9Z!OsV|DFW$Bmu!La$}Es(&xN5?3cH3C)1G#HAl`4m!HN{n(rK)D3tZA(DH zGVVrC!EEoPnF%*pqAGTWo?`wBJCA?MR>M~DQ(}q{Fv{(^z=;qpY_Yq`$%+XDt6bi2 z=af@#wKgwzh!FRDyV8kmOHTiMzURdM^>UkKill5pnzWKiXT`n?*9Klq82oFsMeX)a z%jxl^q4QwL2CR9L&6)fS-#H3u1ELPEJL;++uC>frlx$IMPaj5;pvVqx>UT~``}_;t zPjC~#$w!?}Y1Coe+_^-*H-&YA+oA%+cVPBf;ZfHX0 zo2Gj5kG18Jr^EJWu()3PPe`+%FYUqdBVkvfB3L9EMo_iZy^X6;t)Hlru)XUbZ>oU9 zW0sk6cPO0c9`L4b5*?JqDClegO>LGQzSWxVhx-K==bKJ=IDSkzWO`B+Uu4bddyz)% zcWlg`r~Tu884724k4aqfo-4guoZ`L&QDC-H0c^p+D>{tSu)Mh+NIeXO=)}V&K3PZ0 zQcYC4V}7I1;I%^qVy+-0YApg*=Fg@#X3%@#^{pC^=WC4(Bp61z$n!_eDa27MHtvFu zGY=?TKFgEb-^2DX?r-WV^K>i4Ii^sK^xIyQx#m zS4w}y2qy(9Dk_S?OE4iLT!afCrYy$Z4j_U`YtYODj2Gismf)Q;b-~c1`ybLEbnJhOkePoolI{h*1uX zr1kBKg`D{wcrtQ{0nr!UylN7*Qo59y^k1j00R|gz_}p1Et*TA*b0@BD!c1a5!5xAN zuWTx}l_Q|B_*m-M;QTB&w!D7u5FtecOcCYkkeHP_#$WRA3+cJo@zhFj=kkzc74fKZ z**30n{t47r960(wDmt57Pza8yiwM%j**%1P1Ea|uln<;*nV(*LxI!s;y?RU2{ITc> zP02S}(%{=PGl}@eW?1Otq%Y%6)ZM0_Ipnn>;tqV&E&5X2F{K#N{voOX2shxpL(+6D zB28s^_OY!So@>KTNsLcp}r1RDt{8(poP!Xb6_&|D=e%pz(O31WfZSQ;e|xl@-wE&8~GpBl-PILs5; zE~cgE)J7h{b~Lql4^A?oKY3QdaO~jdiYKP}g$nJgr&1`ciw8%;N&&Xw`9VmoTw-IuMJkH~cq+!=87 zicICgPpRTN#2t`;N1}{V`W*~sPcOb`aAW-Fe_EXb6EzEAha0>wzPk<}u3({m6JG7j zLz#V0eBwM)dtzN43_0hyLzy&p_l>j1thdC^c2F(Qw4K)N(bzKF`E_{k*1kR}gy-!TVAn_a@m_@7|B{N?0ADrF7z@h4mubSAYBf8EEt#)koE|Vx{C2Sg|0I zNo-0^=sxbo=p9fa+q+qs@}rk%@&T-ul6;;#s=W_L%{luNg6r%T^1R326 ztN6DZqe2rYM@j{I&AV6nnJ?lLv-wpiM@jDA(2nO}`+m7q9i7|~nG1B)CpMTrv<9p! zuD%#neGe-@gf_T|lgrQBh3ND^B6Qx{&}-XAw0R-_7=xQuaQu)IV6@2O@ltKYo?qWv zzC*<0Rv~p7C6{oWsS9T&@%iBw)kLoHp}4vEbN=OxuOMH4B>#J|;dLaD($xdidHYsD zes9?hn$MF~72l(Vmr~s2$6qm>5KciLq3=4*@??RcpMK;oAO}YF2|4e)7COBr%Oxl} zUwLDD1rAJk`CWLeNn-nFI}5!jDCCj#{^ZCLe2Zr7)L~BAxqf_?Hk(NWt;5FiTIH)9 z@^xR|C;BkIkAyz`da`?YO<-H=OkJhoujtC+37GlxqgT!BZ7WgT75qnl>p*L6Zubc6 zTqFw-`1*P^M!Ak-!~x~%H~P*99d`F;{#Zv6F&1UeNwIYh-8;}aUL|)S8&-?CD2k3| zLq`c?-ANAn!;WNQ2*h$~4DgskziwL&R8oi?|0TZoJA=%{&d{|LX&88qtc#yw-1g&{ zjrc^M%h5@-SO-~tuMfelVEqhwJ%541rz}2y4-}wff05?;S3?>`v^AoJGYF*Uu(|bN zkU1-y_o&~b)hr`&VtkIL=k-dgG1{fd&aT25-D(qrIK#)?Rk`?v+&+r@Bt2MMhKrI0 zwLwPu`eWj2Sx8LQZ{LQH%5NE1hs@0PWAGMeLXBIt%*q7=GP1zI-~HY=H8!pb&hXAdJY1dMyWgY}YisQb{MD|U14 zQ!6D?IT{Q)FL7QKl8g9CHN`YyHVr>qR{Pve3Apn)Jh=7ftPu711%4l9R^=?;9$_QT z70`~E`_Kw*wC}&^UtI=2GBTmzt>V->{k&?;=?Lb@rnMY?=zNM+%wcApG~JczYxRsK z64%KELtDv`#HWY7^U@OV5XGIMFVK;#tf3AYDu(xjFYaEa-&s>(NxHj!xHa7anbm6& zWP>wqa(SsFDGVK6B6-B4Ss*BJWp@gck9WH>Yj%jNNj{oCJnBS~s+T}bKU~zb!=?C% zwpMv}d;g?!Hgmk%W$;k`ydr?e<~Nx+qIN{YtA#N-FIIT1De7_z!m^6n@6|CxA(6gl zgfs~Ob{Hamu}rC@bN3nbw_2jA51(Xqu7Od2eQ-tBA5Hp@uSM(|E#$Ndz2odAB4Np4 zkv{eu$N+WCWjfGZEo{d^2}ZPpf|i5v(#&JyR6#~=JQm1>)vDBj7cfBb@_GBkKe$Fi zv2a>5aj3>lt}f)MtHXP>Zxm_jRW%c>T$5*v6aNR?8eey(rtM50J!|p_N16HRXxTd? zJvG*4<+GhH<8D%wQO`rLcJK#9l=vKn(`op67l&WOt7R~&Ol5#8Gp z)nNZ1AYQ-q4aNY}b_W;O`^9Ms>EaoS2wn4b#ykU&?!6Y==T)DH;8oTBV)ebgjqcqR zPiCO+R*M}m(j1=7-0H}JAZ%1-EbLsERhYHe4t`JUV_Ks{zJ-|f_t(w#s$VN6l+8}t za?WzL_oaeWXVrD}($!U6PXu5#3}{lHEx6m`^oF0eQeR;q-a!-*H$F}hmB7)Y67bqz zZ`Yzo3E{WlW+u$1ALKmFv&#EktfWv)|E5j>5Cq= z8w{7}inz8}=JpGB?9nMlueuW+Bv7l@Mrb)8PG7uc?O(DM%IkY;ZZnC5-zu85>?u%3 z@~rpX&vYxzjnVcn=EeSO_ott&UpdcFLQ{25+v6A%03g=2O|CC=LMvLg^@x1?Y-sw3 z`f9VdGo5W!*x-dAJImG2r=mMexN&AFt#?y5htsMbM#N~F@6Kr0)5Gf@c#Vm~l}GSe z6u_&!$WheyijV#n2w!#cPWJGEPWh|tPPlL4ei+UX7M~F9T#D`XaY<@Vy*GcF0F;#) z{P;3krmt;qi=UL8S+{RK1m#2_3kfDp{50TUM6U43?n+nD@U>8nB|Qw;D3yCKFW_nY zcz_dT=hE!SVXeUFs+#JXQMb_rMP06m7`JKqak#OUsx->}T(bMkd(uOIUUuI}XKPr* zAeI!Uy>6gx#Y({U2_I7Gz9b<8hm*p++iQE4VrdcFigp3o^nP%Uyw5Tq684A%9|KDd zwzJ0VQJ0O@YPtN7BFtA>I2LFK!?GKd4XF%cmGg}*Hyn=%ml;CD5017oFPTX=*v{HI zIaFkh5Z)eQLSDNQMqhd$5m)2;SQ2;&5I^MymqM3)T`P)Vdq;3Dmn-3qR4n-=bspMB0AC`x3G zyJFitagpw|MDS2aw0P^*@N9c`2-n|Kldu4qU)X)ffDI>m+K<1)Ye4(!jW_`up&L{K z+x+t=>T5BD3=QJUcZF2bqmz}+zRiyeiU{<|gv1;*xsuHw)vr|MjIM}wQ0=UmE3E?q zc#9D!W(-CTSg%Sf_kC(Mz8?pQYF6>@_%m1Bt>z!2rdD_4*b=!qM|;&HwaAy;8N1_F zxo!PLcc+==yq-8B9(#~(an?2SB~}NtueY9_)!vM8)iMh?-`~0tm`y^Pegrz{zg&EB zxz>*m8nI;WUbv&*t{r65yU!p85kSJW{!CFYgW#yt~G&Z-ljNS zrZtJ%h!CMS!g_@iK9F*wwPU^XFE6_cq`Z4_w;X-d&YpPbkpW_8;d@@vwfj^l3L-%X z=E(%Q5lS0N^vk7tLDg9S={9wO<)uJ{bWm!GbO{B=(AGEliaVk^u>;-^e0|056oxy? zwONNynP%=*L9iAy7;gdDPHdEh(~!C z-HkHT)Y&aKNN$xEH6Yp-wt#uuH^7b+eQYP{tsq$9EK0c8Aepc~nMn|%jQ<{5lU`FZ zl=M_2LX(oCWVM6Ad(rbcElfGV<{hXowL(l=F_gqjH<>~ybS>>yPb}5q%B4A!Yw7O3 zJlnGn5HTHN7@CW3lN+n=*;=j>oRN?gcz<~t=$y@i%r)|purj+C)Ep{1RU3(-4j=GA znP_a?!RlpT8E(qY#J;#|mKH}fW?>S!36)NDpC^3c%Xqun8bxWhmjq)^Nt|oFbct3z zzMx%{6c1yx1&5tge8nhX3vv(Z(9dX+_K*_a5^R}yn_lzD+VwPzg6IxpK5AIdvm~lZ zGMGIqc=E{s=*(R;bemg4H)4ZXq1vs9b>p!tHwhoiwUbH9w$2QaQNb^KH@c(XlR}5M z*|C(FLRx~kW)E-5*i&7-aG6kHXKGrb#K;<4Aikf!D$(ZKLOQa{cA3Z8*X1nf_n-Qv zFPqw*sa4rOjTx@WiMD4RB8Wu?Q!=(o$4@eIECqjqoQr_!qjrgYP9t+V-SRd2=;?X4 zKVMHIj>?qblj%#QCD%I7abhPo8pPg#&a_>q@MTRe57+cHy}Vgu?Nz;Y@=U`tb?>Kc zsrPA}@%oP%Q2Ug_lG|64<(ajLZI2nxcZ2sfCa&}kp_^C%D@ipq)ch}|F5(LOjU+Y# ze#f~UiZdX#d_(sHrCAbaF}*uT9bkJMue9~C-k{ukCu|M*D+6v)YJkjbMv{M;2+NZf zIR$E?$-XZIXRo110LyxU0u{&or6a=-Lo*qE=KW%2?1SI2=g!hmUEwMY6;&q^ArLSI zNPl)lpc9Dm@6*|FWdknf8TR;|MCv>=A*%6B!S%-K@?jZbyJk;oCM!4lRpc;YM8=1c z?JzbB;)Nx;BwwLq3fxGJ_=-uUVAsWmK&Z0u#l{QnH{tFyofR9bf1agVHNwru%DXJx zN7Yj$2?HjeJG=D*tCeNXWJ(bbmt9Mwzzg0U2X8Xc$f~Im(kwN3688kfkd*kjAq)tV zN?k8&ye0 zD9l^Mvf_9@G@rCt@-Is44mn?Q?Bg;>^0Jh)R@c^xR~NUxcg%-=4w{5a|F)JlY8R^} zOVh5~yn>y*aE@tM|740WrN7tqqA3D0vjKb4rDZdvZ@-7K>q z;$jKENgA|wDze?VPzKj()(8OIN_A54hWQ}E={}0B;;|2#?o8F*<8$Si04ZEf3Q?mh zhm%dLRn=Q-BQhj7TP}2`n^fKs=ACI-Qw2;QB&ws?u3Acp!jZN3S%+gHoigbjt3`{M z^@ahiOWIV#QU{<;g>=8GrAdE8C7*M#`;89d)s~hKjt1h|BB;?_6l{=Zl6c^O3;o%* zB_p?`s$+qAqQ{>3!QKb^m0@Z#ERa223aeIv?d;+*8x0PiH#=euv1F>wL)(v+BXe4~t! z%`}}E)JZ#xi^KL4VcVIoYq2E766=YkAF1&_kVrB9f-?P9khnWhN+t%R$>edk#CI!G z6N`g^F>Vv{nXIoMipP=%c#D_##H)t1k3->BqqsbCB(DUo(rTs=e`4=9`8 zs4Z5`ip6O@*MfUf8*}B-;U!{~&%b22A?&ZFj;zbmyx>SdtaTHWqr3~M_8@`1Y}~^5 zOHN)!CGZx;vm3E=Hp{6%632w22Z975nwltC5}5hBQ2fd!J91}n#y~(m){UKJiT8)7 zq8+D*OQIo5L_wSs0{AwFM}r|WNki16b?(OF_#bl~r~>_ii;t0NhR&R}RjKB}n!M&R zTyQ&JuRjI?k0;nfFs2hN_f9C!BgDS|`x=bqi1;H2Gh9C$a7$PN^0)_uMMp)4UgA_x ze)eAm<@+R>U9n%tDz^2A`?IOiK)lIK!Ne zGYjAMl^peD*PiAx6HV_#W1KZF3c5%HV%gzy!)9R6dv%;5uH`W60ekiH&w-#U+B z9I9d}FoyH}faWt(y-Cqa1TpKFR;2$07vslv>#Gju<50 zhnF3R7HIS`UwFX7x@7%0=8bF6lDCtT!8p=6VN+BJW*CcS%A73cxW3o!eBb2SA0BZe znyNN^L&yRodSG_mDX6>mRtO;_=?~`7zBI8^vK+v%5h9*Aq+)vUJd4aLY&_t2*W2;X z|AJGzCx9RuDIV?+&<_&(qzB!+n#Z+kruRV}>ZM=xQL2G?aH`3wAtwzO11+|-rH2!~ z#(BT{?Lr*i`g3KAyu_Wf12FTrf$D}(^NWm=^Slcxzq9bb=U2lRD-(_y<;G|^dx8N{ zW{*ca+35OBdsCJWDxU9V_|^mx7+X)j&_9SoQ?{v7xkeg9xB3Y5bzrUN!6Y|qlZwkr za4b5K7*5B1v8!jH47Kfk->0OLfoVow3`i|#dFJrn1m z#gN5(Y=xa(TC3ssW#>1v#EC>K`q@)kFH>0p_l8AqM|<&-Z!A)+YIw7%w#v#*9QOSx z2O_J3H2&sNr5uLG)rv!F$uAZydYZ@lObgXaH8Vw`X@Wt>m4%bpMs&)=>*8D`3gWmW z+Orc2ekD|}il`+o0|&ls!GYg)=mP4h0%h3iY^JaI((v=mFsD#gnq5H7)P!@~phmej zXK^^!Pt}{k1$$2DU+AE2Z?-NMeW#gLJ(ej$-7b!Yp^ST@ywn0(>7u)t`v6`R8uSmY z1kXguauASkfZq$Y6e6L%A96GwA<3s(j=Z%22Nj||o}R@U}5R@Ux+YQg~Inqj59>DJ1lApn4I zAOIln|E%fkYRU@j$%GGvP?65E^QVa`zmJ_B6vp}dXZ#9+T+H=nS4nZ<}j05`XgFJ2Ee zK1Cu?vTXW}wk`74QbGKwxJpE3#^c=aEKT;j#xLqTg0I{ov-<{TBP2+e**EbmwVIV_Yk;pRA3TDBjHw=R_0Xmj zDmy!l*(WI>XH)8l=FZGQyfMp;(~i}kcQRtn1kyO~LoZ!jJ535;`r8K_KfCx{yDlM% zTrwHE@s}5S`uZzr0`cvS(8spIVsJm)Eb1aSorI#-F&XS4wBqXt@Ooqfs%zkvHAIhR zw<%DWVWi@GvsNZPS9i4NVS>#E&Te_Xrt2V`9ar(gM!7I#Af&ol=kI8Ly*U}6$Ml<3? z7uf6C5ro4qXt5LNS!#V?pgYd@lc7rvrpn_z4%cE3H~d%LqR>4JdKo#M1Mk{nxJUxl zgOnIFzVlc0`}8l-K_vX_M8HSSyT@(l+H=T0dpNlJ98qiIma-oT8;gcj#0AQE*69Pb zF43EkCVI=^0z+U`4^dnlOiIN!yOj zkIs%7-a8^6bfF5q?^Ib8+6bY8#vP#EUk5H$CtlN9$g*Al|42750GL*EDFgAEGY?g+faiOXH!D@=coOAe6 zX8t~WFM|(WS`$Om-$5ON1Y8qUIcA}5@Vh{6uKX!$=r8<-gPzKGE(#P%ns^TCy9+Bh z1#r->&uO|CO(k5t-?Ipz$SnJiA3SD5b_C0iGs#o}mF2*|(INilqzn6x>s_!nev^Ups1{UV$iL%!2T(WK6Xq#cE9V(-wXrL0pI`_0D()Ms_IIdhBO!e@C*(BVEw^^0f+$rz!do3 zqw@P3%`GfVJnY>W9c&yK&D`An^8W8mAS7nN^a20?1~34C=wFVK3{ zM%%xO{oxU{OP(r*1sD8F2>=j=0uI3Y7mviD{uKKiia+b|-`x5`=zn?Izx#>5FJ!>` zyLZ(;J?(#V7k^#Izc(Yl`-{Kevj2qtx!d^PWq$V?f5~k9H<|xS_wf%K|8xKGk5v-P zQvDy_`IoEz)y5y)$iH9ozo)@}tdd}i`u`tOe(B;Jp6#?*9P2 CQA7v; literal 0 HcmV?d00001 diff --git a/server/user.jobengine.executors/.classpath b/server/user.jobengine.executors/.classpath index fcb22981..75e2a0ee 100644 --- a/server/user.jobengine.executors/.classpath +++ b/server/user.jobengine.executors/.classpath @@ -2,7 +2,6 @@ - diff --git a/server/user.jobengine.executors/mediavivantis/user/jobengine/server/steps/ArchiveListBuilderStep.java b/server/user.jobengine.executors/amc/user/jobengine/server/steps/ArchiveListBuilderStep.java similarity index 100% rename from server/user.jobengine.executors/mediavivantis/user/jobengine/server/steps/ArchiveListBuilderStep.java rename to server/user.jobengine.executors/amc/user/jobengine/server/steps/ArchiveListBuilderStep.java diff --git a/server/user.jobengine.executors/mediavivantis/user/jobengine/server/steps/ArchiveRecursive.java b/server/user.jobengine.executors/amc/user/jobengine/server/steps/ArchiveRecursive.java similarity index 100% rename from server/user.jobengine.executors/mediavivantis/user/jobengine/server/steps/ArchiveRecursive.java rename to server/user.jobengine.executors/amc/user/jobengine/server/steps/ArchiveRecursive.java diff --git a/server/user.jobengine.executors/mediavivantis/user/jobengine/server/steps/CreateMissingLowresStep.java b/server/user.jobengine.executors/amc/user/jobengine/server/steps/CreateMissingLowresStep.java similarity index 100% rename from server/user.jobengine.executors/mediavivantis/user/jobengine/server/steps/CreateMissingLowresStep.java rename to server/user.jobengine.executors/amc/user/jobengine/server/steps/CreateMissingLowresStep.java diff --git a/server/user.jobengine.executors/amc/user/jobengine/server/steps/FileValidatorStep.java b/server/user.jobengine.executors/amc/user/jobengine/server/steps/FileValidatorStep.java index 90d77f0d..178c38ed 100644 --- a/server/user.jobengine.executors/amc/user/jobengine/server/steps/FileValidatorStep.java +++ b/server/user.jobengine.executors/amc/user/jobengine/server/steps/FileValidatorStep.java @@ -106,18 +106,9 @@ public class FileValidatorStep extends JobStep { if (Math.abs(frames - expectedFrameNumber) > 3) { Message msg = new ParameterizedMessage("Validációs hiba miatt a {} fájl másolása nem lehetséges.", filePath.getFileName()); EscortFiles.notifyRecipient(Paths.get(escortFile), logger, msg); - - //200924 komment, mert a mar TSM-bol letoltott mozikat hagyjuk ott, a download irany ugyis felulir - //EscortFiles.remove(filePath); - //EscortFiles.remove(Paths.get(escortFile)); - - //200911 a kommentet kivettem, mert ezeket is torolni kell - EscortFiles.remove(Paths.get(escortFile + EscortFiles.DOT_CATCHED)); + getJobRuntime().setDisableRetry(true); throw new Exception("Length mismatch in " + filePath + ". Expected: " + expectedFrameNumber + ", found: " + frames); } - if (frames != expectedFrameNumber) - logger.warn(getSessionMarker(), "A {} fájl másolása lehetséges, de a képkockaszám nem egyezik. Várt: {}, aktuális: {}", - expectedFrameNumber, frames); } if (StringUtils.isNotBlank(exceptedColorSpace)) { diff --git a/server/user.jobengine.executors/mediavivantis/user/jobengine/server/steps/TSMSimpleRestoreStep.java b/server/user.jobengine.executors/amc/user/jobengine/server/steps/TSMSimpleRestoreStep.java similarity index 100% rename from server/user.jobengine.executors/mediavivantis/user/jobengine/server/steps/TSMSimpleRestoreStep.java rename to server/user.jobengine.executors/amc/user/jobengine/server/steps/TSMSimpleRestoreStep.java diff --git a/server/user.jobengine.executors/src/user/jobengine/server/steps/CancelableStep.java b/server/user.jobengine.executors/src/user/jobengine/server/steps/CancelableStep.java index f20291fd..bf32a0e8 100644 --- a/server/user.jobengine.executors/src/user/jobengine/server/steps/CancelableStep.java +++ b/server/user.jobengine.executors/src/user/jobengine/server/steps/CancelableStep.java @@ -32,6 +32,7 @@ public class CancelableStep extends JobStep { for (int i = 0; i < count; i++) { if (getJobRuntime().isWaitingCancel()) break; + Thread.sleep(200); int progress = (i + 1) * 100 / count; setProgress(progress); diff --git a/server/user.jobengine.executors/src/user/jobengine/server/steps/CleanupMountedLocationStep.java b/server/user.jobengine.executors/src/user/jobengine/server/steps/CleanupMountedLocationStep.java index 0cd2e364..6a1d37a1 100644 --- a/server/user.jobengine.executors/src/user/jobengine/server/steps/CleanupMountedLocationStep.java +++ b/server/user.jobengine.executors/src/user/jobengine/server/steps/CleanupMountedLocationStep.java @@ -27,8 +27,6 @@ import user.commons.RemoteFile; import user.commons.StoreUri; import user.commons.remotestore.RemoteStoreProtocol; import user.jobengine.db.Store; -import user.jobengine.server.IJobEngine; -import user.jobengine.server.IJobRuntime; public class CleanupMountedLocationStep extends JobStep implements FileVisitor { @@ -69,6 +67,7 @@ public class CleanupMountedLocationStep extends JobStep implements FileVisitor

killDateFiles) { Date killDate = null; @@ -83,7 +82,8 @@ public class CleanupMountedLocationStep extends JobStep implements FileVisitor

directoryStream = null; @@ -246,7 +246,7 @@ public class CleanupMountedLocationStep extends JobStep implements FileVisitor

0) { + if (!skipArchiveCheck && filePath.toFile().length() > 0) { if (!isArchived(filePath)) { logger.error(marker, "A(z) {} anyag törlésre van kijelölve, de nem található az archívumban.", filePath); return; diff --git a/server/user.jobengine.executors/src/user/jobengine/server/steps/Cmd.java b/server/user.jobengine.executors/src/user/jobengine/server/steps/Cmd.java index 96e23807..19506511 100644 --- a/server/user.jobengine.executors/src/user/jobengine/server/steps/Cmd.java +++ b/server/user.jobengine.executors/src/user/jobengine/server/steps/Cmd.java @@ -11,7 +11,7 @@ import org.apache.logging.log4j.Logger; import user.commons.configuration.SystemConfiguration; public class Cmd { - interface IResponseCallback { + public interface IResponseCallback { void onResponse(String line); } diff --git a/server/user.jobengine.executors/src/user/jobengine/server/steps/EnsureProxyPathExistanceStep.java b/server/user.jobengine.executors/src/user/jobengine/server/steps/EnsureProxyPathExistanceStep.java new file mode 100644 index 00000000..7c148216 --- /dev/null +++ b/server/user.jobengine.executors/src/user/jobengine/server/steps/EnsureProxyPathExistanceStep.java @@ -0,0 +1,23 @@ +package user.jobengine.server.steps; + +import java.nio.file.Path; +import java.nio.file.Paths; + +import user.commons.StoreUri; +import user.commons.remotestore.RemoteStoreProtocol; + +public class EnsureProxyPathExistanceStep extends JobStep { + @StepEntry + public Object[] execute(String tempStoreName, String tempStoreProtocol, String fileName) throws Exception { + StoreUri tempStoreUri = getManager().getStoreUri(tempStoreName, Enum.valueOf(RemoteStoreProtocol.class, tempStoreProtocol)); + Path webPath = Paths.get(tempStoreUri.toString(true)); + if (fileName.length() > 2) { + Path subdir = Paths.get(fileName.substring(0, 1), fileName.substring(1, 2), fileName.substring(2, 3)); + EscortFiles.ensureUNCFolder(webPath.toString(), subdir.toString()); + } else { + EscortFiles.ensureUNCFolder(webPath.toString(), fileName); + } + return new Object[] { null }; + } + +} diff --git a/server/user.jobengine.executors/src/user/jobengine/server/steps/FFMpeg.java b/server/user.jobengine.executors/src/user/jobengine/server/steps/FFMpeg.java index dfe0b04f..ae646308 100644 --- a/server/user.jobengine.executors/src/user/jobengine/server/steps/FFMpeg.java +++ b/server/user.jobengine.executors/src/user/jobengine/server/steps/FFMpeg.java @@ -10,12 +10,10 @@ import org.apache.commons.lang.StringUtils; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import com.ibm.nosql.json.api.BasicDBObject; - -import user.commons.configuration.SystemConfiguration; import user.commons.mediatool.MediaInfo; public class FFMpeg { + public interface IProgressChanged { void onProgressChanged(long progress); } @@ -137,8 +135,10 @@ public class FFMpeg { Files.write(Paths.get(output, "index.m3u8"), indexLines); } + + static public void withProfile(String input, String output, String profile, IProgressChanged progressCallback) throws Exception { - BasicDBObject config = SystemConfiguration.getInstance().load("ffmpeg.yaml", BasicDBObject.class); + StringBuilder sb = new StringBuilder(); sb.append("-v panic -stats -y") diff --git a/server/user.jobengine.executors/src/user/jobengine/server/steps/IntegrationTestStep.java b/server/user.jobengine.executors/src/user/jobengine/server/steps/IntegrationTestStep.java new file mode 100644 index 00000000..51bc6103 --- /dev/null +++ b/server/user.jobengine.executors/src/user/jobengine/server/steps/IntegrationTestStep.java @@ -0,0 +1,81 @@ +package user.jobengine.server.steps; + +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.concurrent.CountDownLatch; + +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +import user.commons.ListUtils; +import user.jobengine.db.ArchivedMedia; +import user.jobengine.db.Item; +import user.jobengine.db.Media; + +public class IntegrationTestStep extends JobStep { + private static final Logger logger = LogManager.getLogger(); + + @StepEntry + public Object[] execute() throws Exception { + try { + //test_cancelable(finishLatch); + ArchivedMedia archivedMedia = new ArchivedMedia(); + Media media = getManager().getMedia(15285); + Item item = getManager().getItem(media.getItemId()); + archivedMedia.setItem(item); + archivedMedia.setMedia(media); + test_retrieve_ondemand(archivedMedia); + Path output = Paths.get("/mediacube/data", archivedMedia.getMedia().getHouseId(), + archivedMedia.getMedia().getHouseId() + "-ARCH-" + archivedMedia.getMedia().getMediaFileRealName()); + if (!output.toFile().exists()) + throw new Exception("File not exists: " + output); + + test_delete_materials(output.getParent().toString()); + + if (output.toFile().exists()) + throw new Exception("File exists: " + output); + + } catch (Exception e) { + logger.info(e.getMessage()); + throw e; + } + return null; + } + + private void test_cancelable() throws Exception { + CountDownLatch finishLatch = new CountDownLatch(1); + getEngine().submit(null, e -> { + if (e.isRuntimeTerminated()) + finishLatch.countDown(); + }, "cancelable.xml", "Test cancelable", ListUtils.asMap("param", 1)); + finishLatch.await(); + } + + private void test_delete_materials(String source) throws Exception { + CountDownLatch finishLatch = new CountDownLatch(1); + getEngine().submit(null, e -> { + if (e.isRuntimeTerminated()) + finishLatch.countDown(); + }, "delete-materials.xml", "Test delete-materials", ListUtils.asMap("sourcePath", source, "skipArchiveCheck", true)); + finishLatch.await(); + } + + private void test_retrieve_ondemand(ArchivedMedia archivedMedia) throws Exception { + + CountDownLatch finishLatch = new CountDownLatch(1); + getEngine().submit(null, e -> { + if (e.isRuntimeTerminated()) + finishLatch.countDown(); + + }, "retrieve-ondemand.xml", "Test retrieve-ondemand", + ListUtils.asMap("globalRetrievePath", "file://10.11.1.100", "localRetrievePath", "/mediacube/data", "materialOutputFolder", "/", + "promoOutputFolder", "/", "advertisementOutputFolder", "/", "octopusOutputFolder", "/", "genericOutputFolder", "/", + "onlineOutputFolder", "/", "killDateDays", -1, "nexioAgency", "ARCHIVE_RESTORE", "nexioPort", 2098, "nexioUserName", "administrator", + "nexioPassword", "system", "archivedMedia", archivedMedia, "successRecipient", "vasary@elgekko.net", "houseId", + archivedMedia.getMedia().getHouseId(), "targetPathType", "0")); + + finishLatch.await(); + + } + +} diff --git a/server/user.jobengine.executors/src/user/jobengine/server/steps/MediaCubeClient.java b/server/user.jobengine.executors/src/user/jobengine/server/steps/MediaCubeClient.java new file mode 100644 index 00000000..840925e4 --- /dev/null +++ b/server/user.jobengine.executors/src/user/jobengine/server/steps/MediaCubeClient.java @@ -0,0 +1,77 @@ +package user.jobengine.server.steps; + +import javax.ws.rs.client.Entity; +import javax.ws.rs.client.Invocation.Builder; +import javax.ws.rs.core.MediaType; +import javax.ws.rs.core.MultivaluedMap; +import javax.ws.rs.core.Response; +import javax.ws.rs.core.Response.Status; + +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.jboss.resteasy.client.jaxrs.ResteasyClient; +import org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder; +import org.jboss.resteasy.client.jaxrs.ResteasyWebTarget; +import org.jboss.resteasy.specimpl.MultivaluedMapImpl; + +import com.ibm.nosql.json.JSONUtil; +import com.ibm.nosql.json.api.BasicDBObject; + +public class MediaCubeClient { + private static Logger logger = LogManager.getLogger(); + private ResteasyWebTarget webTarget; + + public MediaCubeClient(String address) { + ResteasyClient client = new ResteasyClientBuilder().build(); + webTarget = client.target(address); + } + + BasicDBObject getDbObject(String json) { + BasicDBObject result = (BasicDBObject) JSONUtil.jsonToDbObject(json); + + if (result == null) + throw new NullPointerException("API Result is null!"); + + if (result.containsKey("exception")) { + BasicDBObject e = (BasicDBObject) result.get("exception"); + throw new RuntimeException(e.getString("message")); + } + //{"exception":{"message":"Invalid credentials.","publicName":"AuthenticationFailedException"}} + return result; + } + + public BasicDBObject getStatus(long jobId) { + MultivaluedMap vars = new MultivaluedMapImpl<>(); + vars.add("jobId", jobId); + Response response = query("services/rest/jobengine/jobstatus", vars).get(); + if (response.getStatus() != Status.OK.getStatusCode()) { + logger.error(response.readEntity(String.class)); + System.out.println(response.readEntity(String.class)); + return null; + } + String result = response.readEntity(String.class); + return getDbObject(result); + } + + private Builder query(String path, MultivaluedMap vars) { + ResteasyWebTarget target = webTarget.path(path).queryParams(vars); + Builder result = target.request(); + return result; + } + + public long startjob(String template, String name, BasicDBObject jobParams) throws Exception { + MultivaluedMap vars = new MultivaluedMapImpl<>(); + vars.add("template", template); + vars.add("name", name); + Response response = query("services/rest/jobengine/startjob", vars).post(Entity.entity(jobParams.toString(), MediaType.APPLICATION_JSON)); + + if (response.getStatus() != Status.OK.getStatusCode()) { + logger.error(response.readEntity(String.class)); + return 0; + } + + String resultObject = response.readEntity(String.class); + return Long.parseLong(resultObject); + } + +} diff --git a/server/user.jobengine.executors/src/user/jobengine/server/steps/PrepareMediaRestoreStep.java b/server/user.jobengine.executors/src/user/jobengine/server/steps/PrepareMediaRestoreStep.java new file mode 100644 index 00000000..e9246724 --- /dev/null +++ b/server/user.jobengine.executors/src/user/jobengine/server/steps/PrepareMediaRestoreStep.java @@ -0,0 +1,32 @@ +package user.jobengine.server.steps; + +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +import user.commons.StoreUri; +import user.commons.remotestore.RemoteStoreProtocol; +import user.jobengine.db.Media; +import user.jobengine.db.MediaFile; +import user.jobengine.db.Store; + +public class PrepareMediaRestoreStep extends JobStep { + private static final Logger logger = LogManager.getLogger(); + + @StepEntry + public Object[] execute(Media media, String tempStoreName, String tempStoreProtocol) throws Exception { + StoreUri mediaStoreUri = null; + for (MediaFile mediaFile : media.getMediaFiles()) { + Store store = mediaFile.getStore(); + if (store.isSystem() && !store.isLowres()) { + mediaStoreUri = store.getStoreUri(RemoteStoreProtocol.TSM); + if (mediaStoreUri != null) + break; + } + } + + StoreUri tempStoreUri = getManager().getStoreUri(tempStoreName, Enum.valueOf(RemoteStoreProtocol.class, tempStoreProtocol)); + + return new Object[] { mediaStoreUri, tempStoreUri, media.getMediaFileRealName() }; + } + +} diff --git a/server/user.jobengine.executors/src/user/jobengine/server/steps/PrepareRemoteTranscodeJobParametersStep.java b/server/user.jobengine.executors/src/user/jobengine/server/steps/PrepareRemoteTranscodeJobParametersStep.java new file mode 100644 index 00000000..8fa6821e --- /dev/null +++ b/server/user.jobengine.executors/src/user/jobengine/server/steps/PrepareRemoteTranscodeJobParametersStep.java @@ -0,0 +1,32 @@ +package user.jobengine.server.steps; + +import java.nio.file.Path; +import java.nio.file.Paths; + +import com.ibm.nosql.json.api.BasicDBObject; + +import user.commons.StoreUri; +import user.commons.remotestore.RemoteStoreProtocol; + +public class PrepareRemoteTranscodeJobParametersStep extends JobStep { + @StepEntry + public Object[] execute(String profileName, String tempStoreName, String tempStoreProtocol, String fileName) throws Exception { + Path inputPath = Paths.get("m:/", fileName); + + StoreUri tempStoreUri = getManager().getStoreUri(tempStoreName, Enum.valueOf(RemoteStoreProtocol.class, tempStoreProtocol)); + String outFileName = fileName.substring(0, fileName.lastIndexOf(".")) + ".mp4"; + Path outputPath = null; + if (fileName.length() > 2) { + outputPath = Paths.get(tempStoreUri.toString(true), fileName.substring(0, 1), fileName.substring(1, 2), fileName.substring(2, 3), outFileName); + } else { + outputPath = Paths.get(tempStoreUri.toString(true), fileName, outFileName); + } + + BasicDBObject parameters = new BasicDBObject(); + parameters.put("profile", profileName); + parameters.put("input", inputPath.toString()); + parameters.put("output", outputPath.toString()); + return new Object[] { parameters }; + } + +} diff --git a/server/user.jobengine.executors/src/user/jobengine/server/steps/QueryMissingProxyMediaStep.java b/server/user.jobengine.executors/src/user/jobengine/server/steps/QueryMissingProxyMediaStep.java new file mode 100644 index 00000000..9e8d1949 --- /dev/null +++ b/server/user.jobengine.executors/src/user/jobengine/server/steps/QueryMissingProxyMediaStep.java @@ -0,0 +1,76 @@ +package user.jobengine.server.steps; + +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +import com.ibm.nosql.json.api.BasicDBObject; +import com.ibm.nosql.json.api.DB; +import com.ibm.nosql.json.api.DBCollection; + +import user.commons.MediaCubeUndoMarker; +import user.commons.nosql.NoSQLUtils; +import user.jobengine.db.IItemManager; +import user.jobengine.db.Media; + +public class QueryMissingProxyMediaStep extends JobStep { + private static final Logger logger = LogManager.getLogger(); + + @StepEntry + public Object[] execute() throws Exception { + Object[] result = new Object[] { null }; + DB db = NoSQLUtils.getNoSQLDB(); + DBCollection collection = db.getCollection("missing_lowres"); + Media media = getFirstUntranscodedMedia(collection); + + try { + if (media == null) { + logger.info(new MediaCubeUndoMarker(getSessionMarker().getSessionID()), "Nincs feldolgozandó hiány."); + // throw new Exception("Nincs feldolgozandó hiány."); + cancel(); + return null; + } + + String name = media.getMediaFileRealName(); + collection.save(new BasicDBObject("name", name)); + logger.info(getSessionMarker(), "Processing mediaID: {}", media.getId()); + result[0] = media; + } catch (Exception e) { + logger.catching(e); + logger.error(getSessionMarker(), e.getMessage()); + throw e; + } finally { + setProgress(100); + } + return result; + } + + private Media getFirstUntranscodedMedia(DBCollection collection) { + Media[] result = new Media[] { null }; + //MV + String query = "SELECT mediaid FROM VW_MISSING_PROXY_IDS WHERE HOUSEID like 'M%' or HOUSEID like 'P%' or HOUSEID like 'R%' ORDER BY modified DESC"; + + //HTV + //String query = "SELECT mediaid FROM VW_MISSING_PROXY_IDS"; + IItemManager manager = getManager(); + manager.executeQuery(query, rs -> { + try { + long mediaId = rs.getLong(1); + Media media = manager.getMedia(mediaId); + //a nevgeneralas miatt az eredeti MediaFilesName nem jo, a pontos nev kell nekunk + String name = media.getMediaFileRealName(); + logger.info(getSessionMarker(), "Checking {}", name); + long existing = collection.find(new BasicDBObject("name", name)).count(); + if (existing > 0) { + logger.info(getSessionMarker(), "{} is on missing_lowres list", name); + return true; + } + + result[0] = media; + } catch (Exception e) { + logger.error(e); + } + return false; + }, null); + return result[0]; + } +} diff --git a/server/user.jobengine.executors/src/user/jobengine/server/steps/RemoteJobStep.java b/server/user.jobengine.executors/src/user/jobengine/server/steps/RemoteJobStep.java new file mode 100644 index 00000000..b215c27b --- /dev/null +++ b/server/user.jobengine.executors/src/user/jobengine/server/steps/RemoteJobStep.java @@ -0,0 +1,40 @@ +package user.jobengine.server.steps; + +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +import com.ibm.nosql.json.api.BasicDBObject; + +/* +import user.jobengine.server.steps.MediaCubeClient; +*/ +public class RemoteJobStep extends JobStep { + private static final Logger logger = LogManager.getLogger(); + + @StepEntry + public Object[] execute(String remoteServer, String template, String name, BasicDBObject remoteJobParameters) throws Exception { + try { + MediaCubeClient mc = new MediaCubeClient(remoteServer); + long jobId = mc.startjob(template, name, remoteJobParameters); + logger.info(getMarker(), "Started {} on server {}", jobId, remoteServer); + while (true) { + BasicDBObject status = mc.getStatus(jobId); + if (status != null) + setProgress(status.getInt("progress")); + + Thread.sleep(3000); + + String jobStatus = status.getString("status"); + if ("SUSPENDED".equals(jobStatus)) + throw new Exception(status.getString("description")); + + if ("FINISHED".equals(jobStatus)) + break; + } + + } catch (Exception e) { + throw e; + } + return new Object[] { null }; + } +} diff --git a/server/user.jobengine.executors/src/user/jobengine/server/steps/TestForkCancelableStep.java b/server/user.jobengine.executors/src/user/jobengine/server/steps/TestForkCancelableStep.java index 28e66d3f..358e8827 100644 --- a/server/user.jobengine.executors/src/user/jobengine/server/steps/TestForkCancelableStep.java +++ b/server/user.jobengine.executors/src/user/jobengine/server/steps/TestForkCancelableStep.java @@ -23,6 +23,9 @@ public class TestForkCancelableStep extends JobStep { //jobEngine.submit(jobRuntime, null, CHILD_TEMPLATE, CHILD_TITLE, ListUtils.asMap("itemID", i)); // IJobRuntime runtime = jobEngine.submit(jobRuntime, null, CHILD_TEMPLATE, "JOB " + i, ListUtils.asMap("param", i)); IJobRuntime runtime = getEngine().submit(getJobRuntime(), e -> { + IJobRuntime r = (IJobRuntime) e.getSource(); + if (r.isDisableRetry()) + return; if (e.getStatus().equals(JobStatus.CANCELED) || e.getStatus().equals(JobStatus.SUSPENDED)) logger.info("Cleanup occured because status is {} {}", e.getStatus(), ((IJob) e.getSource()).getId()); }, CHILD_TEMPLATE, "JOB " + i, 0, IJobEngine.DEFAULT_OWNER, ListUtils.asMap("param", i)); diff --git a/server/user.jobengine.executors/src/user/jobengine/server/steps/TranscodeFFMpegStep.java b/server/user.jobengine.executors/src/user/jobengine/server/steps/TranscodeFFMpegStep.java new file mode 100644 index 00000000..7e4c3a1f --- /dev/null +++ b/server/user.jobengine.executors/src/user/jobengine/server/steps/TranscodeFFMpegStep.java @@ -0,0 +1,48 @@ +package user.jobengine.server.steps; + +import java.nio.file.Paths; + +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +import user.commons.mediaarea.MediaArea; +import user.jobengine.server.steps.shared.ExternalCommandExecutor; +import user.jobengine.server.steps.shared.IExternalCallback; + +/* +import user.jobengine.server.steps.shared.ExternalProfile; +import user.jobengine.server.steps.shared.ExternalProfilesConfig; + */ +public class TranscodeFFMpegStep extends JobStep implements IExternalCallback { + private static final Logger logger = LogManager.getLogger(); + private long allFrameCount; + private long processedFrameCount; + + @StepEntry + public Object[] execute(String input, String output, String profile) throws Exception { + try { + MediaArea ma = new MediaArea(Paths.get(input)); + ma.process(); + allFrameCount = ma.getFrameCount(); + + ExternalCommandExecutor executor = new ExternalCommandExecutor(); + executor.execute(profile, input, output, this); + } catch (Exception e) { + logger.error(getMarker(), "Media information not available. System message: {}", e.getMessage()); + throw e; + } + return null; + } + + @Override + public void onResponse(String line) { + String[] values = line.split("="); + if ("frame".equals(values[0])) { + processedFrameCount = Integer.parseInt(values[1]); + int progress = (int) (processedFrameCount * 100 / allFrameCount); + if (progress > 0) + setProgress(progress); + } + } + +} diff --git a/server/user.jobengine.executors/src/user/jobengine/server/steps/shared/ExternalCommand.java b/server/user.jobengine.executors/src/user/jobengine/server/steps/shared/ExternalCommand.java new file mode 100644 index 00000000..307f36d0 --- /dev/null +++ b/server/user.jobengine.executors/src/user/jobengine/server/steps/shared/ExternalCommand.java @@ -0,0 +1,79 @@ +package user.jobengine.server.steps.shared; + +import java.io.BufferedReader; +import java.io.InputStreamReader; +import java.util.ArrayList; +import java.util.List; + +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +public class ExternalCommand { + private static final Logger logger = LogManager.getLogger(); + private ExternalProfile profile; + + public ExternalCommand(ExternalProfile profile) { + this.profile = profile; + } + + public String execute(String input, String output, boolean firstResponse, IExternalCallback responseCallBack) throws Exception { + List arguments = getArguments(input, output); + List command = new ArrayList<>(); + command.add(profile.getExecutable()); + command.addAll(arguments); + + ProcessBuilder processBuilder = new ProcessBuilder(); + processBuilder.command(command); + + String result = null; + try { + logger.info("Executing : {}", processBuilder.command()); + + Process process = processBuilder.start(); + try (BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()))) { + String line = null; + while ((line = reader.readLine()) != null) { + logger.debug("Process response: {}", line); + if (responseCallBack != null) + responseCallBack.onResponse(line); + //System.out.println(line); + if (line != null && line.length() > 0) { + result = line; + if (firstResponse) + break; + } + } + int exitCode = process.waitFor(); + if (exitCode != 0) { + StringBuilder msg = new StringBuilder(); + try (BufferedReader errReader = new BufferedReader(new InputStreamReader(process.getErrorStream()))) { + String errline = null; + while ((errline = errReader.readLine()) != null) { + msg.append(errline); + } + } catch (Exception ex) { + } + + throw new Exception("Exited with error code : " + exitCode + ". " + msg); + } + } catch (Exception e) { + throw e; + } + } catch (Exception e) { + logger.error(e); + throw e; + } + + return result; + } + + private List getArguments(String input, String output) { + List result = new ArrayList<>(); + + profile.getArguments().forEach(i -> { + result.add(i.replace("%i", input).replace("%o", output)); + }); + return result; + } + +} \ No newline at end of file diff --git a/server/user.jobengine.executors/src/user/jobengine/server/steps/shared/ExternalCommandExecutor.java b/server/user.jobengine.executors/src/user/jobengine/server/steps/shared/ExternalCommandExecutor.java new file mode 100644 index 00000000..34512b96 --- /dev/null +++ b/server/user.jobengine.executors/src/user/jobengine/server/steps/shared/ExternalCommandExecutor.java @@ -0,0 +1,39 @@ +package user.jobengine.server.steps.shared; + +import user.commons.configuration.SystemConfiguration; + +/* + package user.jobengine.server.steps.IExternalCallback; + package user.jobengine.server.steps.ExternalProfile; + package user.jobengine.server.steps.ExternalProfilesConfig; + package user.jobengine.server.steps.ExternalCommand; + + */ +public class ExternalCommandExecutor { + + public void execute(String profileName, String input, String output, IExternalCallback responseCallBack) throws Exception { + ExternalCommand externalCommand = getExternalCommand(profileName); + externalCommand.execute(input, output, false, responseCallBack); + } + + private ExternalCommand getExternalCommand(String profileName) throws Exception { + ExternalProfilesConfig config = SystemConfiguration.getInstance().load("settings/external-commands.yaml", ExternalProfilesConfig.class); + + if (config == null) + throw new Exception("Missing external-commands.yaml configuration"); + + ExternalProfile selectedProfile = null; + for (ExternalProfile profile : config.getProfiles()) { + if (profileName.equals(profile.getName())) { + selectedProfile = profile; + break; + } + } + + if (selectedProfile == null) + throw new Exception("Missing profile " + profileName + " in external-commands.yaml configuration"); + + return new ExternalCommand(selectedProfile); + } + +} diff --git a/server/user.jobengine.executors/src/user/jobengine/server/steps/shared/ExternalProfile.java b/server/user.jobengine.executors/src/user/jobengine/server/steps/shared/ExternalProfile.java new file mode 100644 index 00000000..68e22f4c --- /dev/null +++ b/server/user.jobengine.executors/src/user/jobengine/server/steps/shared/ExternalProfile.java @@ -0,0 +1,33 @@ +package user.jobengine.server.steps.shared; + +import java.util.List; + +public class ExternalProfile { + private String executable; + private String name; + private List arguments; + + public List getArguments() { + return arguments; + } + + public String getExecutable() { + return executable; + } + + public String getName() { + return name; + } + + public void setArguments(List arguments) { + this.arguments = arguments; + } + + public void setExecutable(String executable) { + this.executable = executable; + } + + public void setName(String name) { + this.name = name; + } +} \ No newline at end of file diff --git a/server/user.jobengine.executors/src/user/jobengine/server/steps/shared/ExternalProfilesConfig.java b/server/user.jobengine.executors/src/user/jobengine/server/steps/shared/ExternalProfilesConfig.java new file mode 100644 index 00000000..7ef77291 --- /dev/null +++ b/server/user.jobengine.executors/src/user/jobengine/server/steps/shared/ExternalProfilesConfig.java @@ -0,0 +1,15 @@ +package user.jobengine.server.steps.shared; + +import java.util.List; + +public class ExternalProfilesConfig { + private List profiles; + + public List getProfiles() { + return profiles; + } + + public void setProfiles(List profiles) { + this.profiles = profiles; + } +} \ No newline at end of file diff --git a/server/user.jobengine.executors/src/user/jobengine/server/steps/shared/IExternalCallback.java b/server/user.jobengine.executors/src/user/jobengine/server/steps/shared/IExternalCallback.java new file mode 100644 index 00000000..1e071913 --- /dev/null +++ b/server/user.jobengine.executors/src/user/jobengine/server/steps/shared/IExternalCallback.java @@ -0,0 +1,5 @@ +package user.jobengine.server.steps.shared; + +public interface IExternalCallback { + void onResponse(String data); +} \ No newline at end of file diff --git a/server/user.jobengine.osgi.commons/src/user/commons/configuration/SystemConfiguration.java b/server/user.jobengine.osgi.commons/src/user/commons/configuration/SystemConfiguration.java index cd575a5c..7f9014e9 100644 --- a/server/user.jobengine.osgi.commons/src/user/commons/configuration/SystemConfiguration.java +++ b/server/user.jobengine.osgi.commons/src/user/commons/configuration/SystemConfiguration.java @@ -91,7 +91,10 @@ public class SystemConfiguration implements IConfiguration { if (!result.getClass().isAssignableFrom(defValue.getClass())) throw new ClassCastException(result.getClass() + " ? " + defValue.getClass()); } catch (Exception e) { - logger.error("{} read error. {}", fqn, e.getMessage()); + if (e instanceof NullPointerException) + logger.warn("{} variable is not defined in configuration.", fqn); + else + logger.warn("{} read error. {}", fqn, e.getMessage()); result = defValue; } return result; diff --git a/server/user.jobengine.osgi.commons/src/user/commons/mediaarea/MediaArea.java b/server/user.jobengine.osgi.commons/src/user/commons/mediaarea/MediaArea.java index 1c8bdd96..b7aaed57 100644 --- a/server/user.jobengine.osgi.commons/src/user/commons/mediaarea/MediaArea.java +++ b/server/user.jobengine.osgi.commons/src/user/commons/mediaarea/MediaArea.java @@ -8,6 +8,7 @@ public class MediaArea { private int height; private String displayAspect; private String formatProfile = ""; + private long frameCount; public MediaArea(Path filePath) { this.filePath = filePath; @@ -26,16 +27,31 @@ public class MediaArea { return height; } + public String inform() { + String result = null; + //auto closable + try (MediaInfo mi = new MediaInfo(filePath.toAbsolutePath().toString())) { + result = mi.inform(); + } catch (Exception ex) { + throw new RuntimeException(ex); + } + return result; + } + public void process() { //auto closable try (MediaInfo mi = new MediaInfo(filePath.toAbsolutePath().toString())) { height = Integer.parseInt(mi.get(StreamKind.Video, 0, "Height")); displayAspect = mi.get(StreamKind.Video, 0, "DisplayAspectRatio/String"); formatProfile = mi.get(StreamKind.Video, 0, "Format_Profile").toUpperCase(); + frameCount = Integer.parseInt(mi.get(StreamKind.Video, 0, "FrameCount")); } catch (Exception ex) { throw new RuntimeException(ex); } } + public long getFrameCount() { + return frameCount; + } } diff --git a/server/user.jobengine.osgi.commons/src/user/commons/nexio/NexioAPI.java b/server/user.jobengine.osgi.commons/src/user/commons/nexio/NexioAPI.java index fd2d114e..1910089b 100644 --- a/server/user.jobengine.osgi.commons/src/user/commons/nexio/NexioAPI.java +++ b/server/user.jobengine.osgi.commons/src/user/commons/nexio/NexioAPI.java @@ -22,8 +22,13 @@ public class NexioAPI implements INexioAPI { @Override public NexioDispatcher getDispatcher() { - if (dispatcher == null) - dispatcher = new NexioDispatcher(); + try { + if (dispatcher == null) + dispatcher = new NexioDispatcher(); + + } catch (Exception e) { + logger.warn(e.getMessage()); + } return dispatcher; } diff --git a/server/user.jobengine.osgi.commons/src/user/commons/nexio/NexioDispatcher.java b/server/user.jobengine.osgi.commons/src/user/commons/nexio/NexioDispatcher.java index 98097f88..fa3871d3 100644 --- a/server/user.jobengine.osgi.commons/src/user/commons/nexio/NexioDispatcher.java +++ b/server/user.jobengine.osgi.commons/src/user/commons/nexio/NexioDispatcher.java @@ -43,10 +43,10 @@ public class NexioDispatcher implements ClipEventListener { private static final String EXTAGENCY = "extagency"; private static final String RECORDDATE = "recorddate"; private static final String LONGNAMEID = "longnameid"; - public static final String CLIP_COLLECTION_NAME = SystemConfiguration.getInstance().value("services.nexio.collection-name"); - private static String NEXIO_HOST = SystemConfiguration.getInstance().value("services.nexio.host"); - private static boolean disabled = SystemConfiguration.getInstance().value("services.nexio.disabled", true); - private static boolean[] useMOSGateways = new boolean[] { SystemConfiguration.getInstance().value("services.nexio.use-mos-gateway") }; + public static String CLIP_COLLECTION_NAME; + private static String NEXIO_HOST; + private static boolean disabled; + private static boolean useMOSGateways; static private final byte[] GET_SPECIAL_ID_ATTRIBUTES_REQ = { (byte) 0xC8, (byte) 0x84 }; static private final char[] hexArray = "0123456789ABCDEF".toCharArray(); @@ -97,6 +97,12 @@ public class NexioDispatcher implements ClipEventListener { private MediaListener mediaListener; public NexioDispatcher() { + + NEXIO_HOST = SystemConfiguration.getInstance().value("services.nexio.host"); + CLIP_COLLECTION_NAME = SystemConfiguration.getInstance().value("services.nexio.collection-name"); + disabled = SystemConfiguration.getInstance().value("services.nexio.disabled", true); + useMOSGateways = SystemConfiguration.getInstance().value("services.nexio.use-mos-gateway", false); + this.db = NoSQLUtils.getNoSQLDB(); // Runtime.getRuntime().addShutdownHook(new Thread() { @@ -234,11 +240,11 @@ public class NexioDispatcher implements ClipEventListener { } private void innerStartup() { - + final boolean gw = useMOSGateways; worker = new Thread(() -> { try { logger.info("Initial clip import started"); - if (useMOSGateways[0]) { + if (gw) { NexioDataMiner dm = new NexioDataMiner(); dm.transferClips(); } else { @@ -305,14 +311,14 @@ public class NexioDispatcher implements ClipEventListener { } /* - + int c = connection.read(buffer, 0, 2); //2 bytes hosszan az idokozben hozzaadott id-k szamossaga if (c < 2) { throw new ProtocolException("c, 2, 2"); } //MSB, LSB - + return nofIds; */ return ret; diff --git a/server/user.jobengine.osgi.db/generated/user/jobengine/db/BreakDAO.java b/server/user.jobengine.osgi.db/generated/user/jobengine/db/BreakDAO.java new file mode 100644 index 00000000..570f9098 --- /dev/null +++ b/server/user.jobengine.osgi.db/generated/user/jobengine/db/BreakDAO.java @@ -0,0 +1,390 @@ +/*@lineinfo:filename=BreakDAO*//*@lineinfo:user-code*//*@lineinfo:1^1*/package user.jobengine.db; + +import user.commons.IEntityBase; +import sqlj.runtime.ref.*; +import java.sql.SQLException; +import java.sql.Timestamp; +import java.util.List; +import java.util.ArrayList; + +/*@lineinfo:generated-code*//*@lineinfo:10^2*/ + +// ************************************************************ +// SQLJ iterator declaration: +// ************************************************************ + +class BreakIter +extends sqlj.runtime.ref.ResultSetIterImpl +implements sqlj.runtime.NamedIterator +{ + private int thumbnailNdx; + private int createdNdx; + private int mediaIdNdx; + private int inPointNdx; + private int breakTypeNdx; + private int idNdx; + public BreakIter(sqlj.runtime.profile.RTResultSet resultSet) + throws java.sql.SQLException + { + super(resultSet); + idNdx = findColumn("id"); + breakTypeNdx = findColumn("breakType"); + inPointNdx = findColumn("inPoint"); + mediaIdNdx = findColumn("mediaId"); + createdNdx = findColumn("created"); + thumbnailNdx = findColumn("thumbnail"); + } + public BreakIter(sqlj.runtime.profile.RTResultSet resultSet, int fetchSize, int maxRows) + throws java.sql.SQLException + { + super(resultSet, fetchSize, maxRows); + idNdx = findColumn("id"); + breakTypeNdx = findColumn("breakType"); + inPointNdx = findColumn("inPoint"); + mediaIdNdx = findColumn("mediaId"); + createdNdx = findColumn("created"); + thumbnailNdx = findColumn("thumbnail"); + } + public long id() + throws java.sql.SQLException + { + return resultSet.getLongNoNull(idNdx); + } + public String breakType() + throws java.sql.SQLException + { + return resultSet.getString(breakTypeNdx); + } + public long inPoint() + throws java.sql.SQLException + { + return resultSet.getLongNoNull(inPointNdx); + } + public long mediaId() + throws java.sql.SQLException + { + return resultSet.getLongNoNull(mediaIdNdx); + } + public Timestamp created() + throws java.sql.SQLException + { + return resultSet.getTimestamp(createdNdx); + } + public byte[] thumbnail() + throws java.sql.SQLException + { + return resultSet.getBytes(thumbnailNdx); + } +} + + +// ************************************************************ + +/*@lineinfo:user-code*//*@lineinfo:10^114*/ + +@SuppressWarnings("unused") +class BreakDAO extends EntityBaseDAO { + + public BreakDAO(ItemManager manager) { + super(manager); + } + + @Override + protected List entities(DefaultContext context, ResultSetIterImpl iter, boolean isChunked) throws SQLException { + List result = null; + BreakIter iterator = (BreakIter) iter; + while (iterator.next()) { + Break entity = new Break(); + entity.setId(iterator.id()); + entity.setBreakType(ItemManagerData.toBreakType(iterator.breakType())); + entity.setInPoint(iterator.inPoint()); + entity.setMediaId(iterator.mediaId()); + entity.setCreated(iterator.created()); + entity.setThumbnail(iterator.thumbnail()); + + if (result == null) + result = new ArrayList(); + result.add(entity); + } + iterator.close(); + return result; + } + + @Override + protected ResultSetIterImpl selectByKey(DefaultContext context, long id) throws SQLException{ + BreakIter iter = null; + /*@lineinfo:generated-code*//*@lineinfo:43^2*/ + +// ************************************************************ +// #sql [context] iter = { SELECT ID, BREAKTYPE, INPOINT, MEDIAID, CREATED, THUMBNAIL FROM BREAK WHERE ID = :id }; +// ************************************************************ + +{ + sqlj.runtime.ConnectionContext __sJT_connCtx = context; + if (__sJT_connCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_DEFAULT_CONN_CTX(); + sqlj.runtime.ExecutionContext __sJT_execCtx = __sJT_connCtx.getExecutionContext(); + if (__sJT_execCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_EXEC_CTX(); + synchronized (__sJT_execCtx) { + sqlj.runtime.profile.RTStatement __sJT_stmt = __sJT_execCtx.registerStatement(__sJT_connCtx, BreakDAO_SJProfileKeys.getKey(0), 0); + try + { + __sJT_stmt.setLong(1, id); + iter = new BreakIter(__sJT_execCtx.executeQuery(), __sJT_execCtx.getFetchSize(), __sJT_execCtx.getMaxRows()); + } + finally + { + __sJT_execCtx.releaseStatement(); + } + } +} + + +// ************************************************************ + +/*@lineinfo:user-code*//*@lineinfo:43^111*/ + return iter; + } + + @Override + protected ResultSetIterImpl selectByForeignKey(DefaultContext context, long id) throws SQLException{ + BreakIter iter = null; + /*@lineinfo:generated-code*//*@lineinfo:50^2*/ + +// ************************************************************ +// #sql [context] iter = { SELECT ID, BREAKTYPE, INPOINT, MEDIAID, CREATED, THUMBNAIL FROM BREAK WHERE MEDIAID = :id }; +// ************************************************************ + +{ + sqlj.runtime.ConnectionContext __sJT_connCtx = context; + if (__sJT_connCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_DEFAULT_CONN_CTX(); + sqlj.runtime.ExecutionContext __sJT_execCtx = __sJT_connCtx.getExecutionContext(); + if (__sJT_execCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_EXEC_CTX(); + synchronized (__sJT_execCtx) { + sqlj.runtime.profile.RTStatement __sJT_stmt = __sJT_execCtx.registerStatement(__sJT_connCtx, BreakDAO_SJProfileKeys.getKey(0), 1); + try + { + __sJT_stmt.setLong(1, id); + iter = new BreakIter(__sJT_execCtx.executeQuery(), __sJT_execCtx.getFetchSize(), __sJT_execCtx.getMaxRows()); + } + finally + { + __sJT_execCtx.releaseStatement(); + } + } +} + + +// ************************************************************ + +/*@lineinfo:user-code*//*@lineinfo:50^116*/ + return iter; + } + + @Override + protected ResultSetIterImpl selectAll(DefaultContext context) throws SQLException{ + BreakIter iter = null; + /*@lineinfo:generated-code*//*@lineinfo:57^2*/ + +// ************************************************************ +// #sql [context] iter = { SELECT ID, BREAKTYPE, INPOINT, MEDIAID, CREATED, THUMBNAIL FROM BREAK }; +// ************************************************************ + +{ + sqlj.runtime.ConnectionContext __sJT_connCtx = context; + if (__sJT_connCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_DEFAULT_CONN_CTX(); + sqlj.runtime.ExecutionContext __sJT_execCtx = __sJT_connCtx.getExecutionContext(); + if (__sJT_execCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_EXEC_CTX(); + synchronized (__sJT_execCtx) { + sqlj.runtime.profile.RTStatement __sJT_stmt = __sJT_execCtx.registerStatement(__sJT_connCtx, BreakDAO_SJProfileKeys.getKey(0), 2); + try + { + iter = new BreakIter(__sJT_execCtx.executeQuery(), __sJT_execCtx.getFetchSize(), __sJT_execCtx.getMaxRows()); + } + finally + { + __sJT_execCtx.releaseStatement(); + } + } +} + + +// ************************************************************ + +/*@lineinfo:user-code*//*@lineinfo:57^96*/ + return iter; + } + + @Override + protected void delete(DefaultContext context, long id) throws SQLException{ + /*@lineinfo:generated-code*//*@lineinfo:63^2*/ + +// ************************************************************ +// #sql [context] { DELETE FROM BREAK WHERE ID = :id }; +// ************************************************************ + +{ + sqlj.runtime.ConnectionContext __sJT_connCtx = context; + if (__sJT_connCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_DEFAULT_CONN_CTX(); + sqlj.runtime.ExecutionContext __sJT_execCtx = __sJT_connCtx.getExecutionContext(); + if (__sJT_execCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_EXEC_CTX(); + synchronized (__sJT_execCtx) { + sqlj.runtime.profile.RTStatement __sJT_stmt = __sJT_execCtx.registerStatement(__sJT_connCtx, BreakDAO_SJProfileKeys.getKey(0), 3); + try + { + __sJT_stmt.setLong(1, id); + __sJT_execCtx.executeUpdate(); + } + finally + { + __sJT_execCtx.releaseStatement(); + } + } +} + + +// ************************************************************ + +/*@lineinfo:user-code*//*@lineinfo:63^52*/ + } + + @Override + protected void truncateTable(DefaultContext context) throws SQLException{ + /*@lineinfo:generated-code*//*@lineinfo:68^2*/ + +// ************************************************************ +// #sql [context] { TRUNCATE TABLE BREAK DROP STORAGE IGNORE DELETE TRIGGERS IMMEDIATE }; +// ************************************************************ + +{ + sqlj.runtime.ConnectionContext __sJT_connCtx = context; + if (__sJT_connCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_DEFAULT_CONN_CTX(); + sqlj.runtime.ExecutionContext __sJT_execCtx = __sJT_connCtx.getExecutionContext(); + if (__sJT_execCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_EXEC_CTX(); + synchronized (__sJT_execCtx) { + sqlj.runtime.profile.RTStatement __sJT_stmt = __sJT_execCtx.registerStatement(__sJT_connCtx, BreakDAO_SJProfileKeys.getKey(0), 4); + try + { + __sJT_execCtx.executeUpdate(); + } + finally + { + __sJT_execCtx.releaseStatement(); + } + } +} + + +// ************************************************************ + +/*@lineinfo:user-code*//*@lineinfo:68^86*/ + } + + @Override + protected void update(DefaultContext context, IEntityBase entity) throws SQLException{ + Break obj = (Break) entity; + long id = obj.getId(); + String breakType = obj.getBreakType().toString(); + long inPoint = obj.getInPoint(); + long mediaId = obj.getMediaId(); + byte[] thumbnail = obj.getThumbnail(); + + /*@lineinfo:generated-code*//*@lineinfo:80^2*/ + +// ************************************************************ +// #sql [context] { UPDATE BREAK SET BREAKTYPE = :breakType, INPOINT = :inPoint, MEDIAID = :mediaId, THUMBNAIL = :thumbnail WHERE ID = :id }; +// ************************************************************ + +{ + sqlj.runtime.ConnectionContext __sJT_connCtx = context; + if (__sJT_connCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_DEFAULT_CONN_CTX(); + sqlj.runtime.ExecutionContext __sJT_execCtx = __sJT_connCtx.getExecutionContext(); + if (__sJT_execCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_EXEC_CTX(); + synchronized (__sJT_execCtx) { + sqlj.runtime.profile.RTStatement __sJT_stmt = __sJT_execCtx.registerStatement(__sJT_connCtx, BreakDAO_SJProfileKeys.getKey(0), 5); + try + { + __sJT_stmt.setString(1, breakType); + __sJT_stmt.setLong(2, inPoint); + __sJT_stmt.setLong(3, mediaId); + __sJT_stmt.setBytes(4, thumbnail); + __sJT_stmt.setLong(5, id); + __sJT_execCtx.executeUpdate(); + } + finally + { + __sJT_execCtx.releaseStatement(); + } + } +} + + +// ************************************************************ + +/*@lineinfo:user-code*//*@lineinfo:80^138*/ + } + + @Override + protected void insert(DefaultContext context, IEntityBase entity) throws SQLException{ + Break obj = (Break) entity; + String breakType = obj.getBreakType().toString(); + long inPoint = obj.getInPoint(); + long mediaId = obj.getMediaId(); + byte[] thumbnail = obj.getThumbnail(); + + /*@lineinfo:generated-code*//*@lineinfo:91^2*/ + +// ************************************************************ +// #sql [context] { INSERT INTO BREAK (BREAKTYPE, INPOINT, MEDIAID, THUMBNAIL) VALUES (:breakType, :inPoint, :mediaId, :thumbnail) }; +// ************************************************************ + +{ + sqlj.runtime.ConnectionContext __sJT_connCtx = context; + if (__sJT_connCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_DEFAULT_CONN_CTX(); + sqlj.runtime.ExecutionContext __sJT_execCtx = __sJT_connCtx.getExecutionContext(); + if (__sJT_execCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_EXEC_CTX(); + synchronized (__sJT_execCtx) { + sqlj.runtime.profile.RTStatement __sJT_stmt = __sJT_execCtx.registerStatement(__sJT_connCtx, BreakDAO_SJProfileKeys.getKey(0), 6); + try + { + __sJT_stmt.setString(1, breakType); + __sJT_stmt.setLong(2, inPoint); + __sJT_stmt.setLong(3, mediaId); + __sJT_stmt.setBytes(4, thumbnail); + __sJT_execCtx.executeUpdate(); + } + finally + { + __sJT_execCtx.releaseStatement(); + } + } +} + + +// ************************************************************ + +/*@lineinfo:user-code*//*@lineinfo:91^130*/ + } + +}/*@lineinfo:generated-code*/class BreakDAO_SJProfileKeys +{ + private java.lang.Object[] keys; + private final sqlj.runtime.profile.Loader loader = sqlj.runtime.RuntimeContext.getRuntime().getLoaderForClass(getClass()); + private static BreakDAO_SJProfileKeys inst = null; + public static java.lang.Object getKey(int keyNum) + throws java.sql.SQLException + { + synchronized(user.jobengine.db.BreakDAO_SJProfileKeys.class) { + if (inst == null) + { + inst = new BreakDAO_SJProfileKeys(); + } + } + return inst.keys[keyNum]; + } + private BreakDAO_SJProfileKeys() + throws java.sql.SQLException + { + keys = new java.lang.Object[1]; + keys[0] = DefaultContext.getProfileKey(loader, "user.jobengine.db.BreakDAO_SJProfile0"); + } +} diff --git a/server/user.jobengine.osgi.db/generated/user/jobengine/db/FolderDAO.java b/server/user.jobengine.osgi.db/generated/user/jobengine/db/FolderDAO.java new file mode 100644 index 00000000..73984061 --- /dev/null +++ b/server/user.jobengine.osgi.db/generated/user/jobengine/db/FolderDAO.java @@ -0,0 +1,312 @@ +/*@lineinfo:filename=FolderDAO*//*@lineinfo:user-code*//*@lineinfo:1^1*/package user.jobengine.db; + +import user.commons.IEntityBase; +import sqlj.runtime.ref.*; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.List; + +/*@lineinfo:generated-code*//*@lineinfo:9^2*/ + +// ************************************************************ +// SQLJ iterator declaration: +// ************************************************************ + +class FolderIter +extends sqlj.runtime.ref.ResultSetIterImpl +implements sqlj.runtime.NamedIterator +{ + private int childIdNdx; + private int parentIdNdx; + private int idNdx; + public FolderIter(sqlj.runtime.profile.RTResultSet resultSet) + throws java.sql.SQLException + { + super(resultSet); + idNdx = findColumn("id"); + parentIdNdx = findColumn("parentId"); + childIdNdx = findColumn("childId"); + } + public FolderIter(sqlj.runtime.profile.RTResultSet resultSet, int fetchSize, int maxRows) + throws java.sql.SQLException + { + super(resultSet, fetchSize, maxRows); + idNdx = findColumn("id"); + parentIdNdx = findColumn("parentId"); + childIdNdx = findColumn("childId"); + } + public long id() + throws java.sql.SQLException + { + return resultSet.getLongNoNull(idNdx); + } + public long parentId() + throws java.sql.SQLException + { + return resultSet.getLongNoNull(parentIdNdx); + } + public long childId() + throws java.sql.SQLException + { + return resultSet.getLongNoNull(childIdNdx); + } +} + + +// ************************************************************ + +/*@lineinfo:user-code*//*@lineinfo:9^61*/ + +@SuppressWarnings("unused") +public class FolderDAO extends EntityBaseDAO { + + public FolderDAO(ItemManager manager) { + super(manager); + } + + @Override + protected List entities(DefaultContext context, ResultSetIterImpl iter, boolean isChunked) throws SQLException { + List result = null; + FolderIter iterator = (FolderIter) iter; + while (iterator.next()) { + Folder entity = new Folder(); + entity.setId(iterator.id()); + entity.setParentId(iterator.parentId()); + entity.setChildId(iterator.childId()); + if (result == null) + result = new ArrayList(); + result.add(entity); + } + iterator.close(); + return result; + } + + @Override + protected ResultSetIterImpl selectByKey(DefaultContext context, long id) throws SQLException{ + FolderIter iter = null; + /*@lineinfo:generated-code*//*@lineinfo:38^2*/ + +// ************************************************************ +// #sql [context] iter = { SELECT ID, PARENTID, CHILDID FROM FOLDER WHERE ID = :id }; +// ************************************************************ + +{ + sqlj.runtime.ConnectionContext __sJT_connCtx = context; + if (__sJT_connCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_DEFAULT_CONN_CTX(); + sqlj.runtime.ExecutionContext __sJT_execCtx = __sJT_connCtx.getExecutionContext(); + if (__sJT_execCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_EXEC_CTX(); + synchronized (__sJT_execCtx) { + sqlj.runtime.profile.RTStatement __sJT_stmt = __sJT_execCtx.registerStatement(__sJT_connCtx, FolderDAO_SJProfileKeys.getKey(0), 0); + try + { + __sJT_stmt.setLong(1, id); + iter = new FolderIter(__sJT_execCtx.executeQuery(), __sJT_execCtx.getFetchSize(), __sJT_execCtx.getMaxRows()); + } + finally + { + __sJT_execCtx.releaseStatement(); + } + } +} + + +// ************************************************************ + +/*@lineinfo:user-code*//*@lineinfo:38^82*/ + return iter; + } + + protected ResultSetIterImpl selectByForeignKey(DefaultContext context, long id) throws SQLException{ + FolderIter iter = null; + /*@lineinfo:generated-code*//*@lineinfo:44^2*/ + +// ************************************************************ +// #sql [context] iter = { SELECT ID, PARENTID, CHILDID FROM FOLDER WHERE CHILDID = :id }; +// ************************************************************ + +{ + sqlj.runtime.ConnectionContext __sJT_connCtx = context; + if (__sJT_connCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_DEFAULT_CONN_CTX(); + sqlj.runtime.ExecutionContext __sJT_execCtx = __sJT_connCtx.getExecutionContext(); + if (__sJT_execCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_EXEC_CTX(); + synchronized (__sJT_execCtx) { + sqlj.runtime.profile.RTStatement __sJT_stmt = __sJT_execCtx.registerStatement(__sJT_connCtx, FolderDAO_SJProfileKeys.getKey(0), 1); + try + { + __sJT_stmt.setLong(1, id); + iter = new FolderIter(__sJT_execCtx.executeQuery(), __sJT_execCtx.getFetchSize(), __sJT_execCtx.getMaxRows()); + } + finally + { + __sJT_execCtx.releaseStatement(); + } + } +} + + +// ************************************************************ + +/*@lineinfo:user-code*//*@lineinfo:44^87*/ + return iter; + } + + @Override + protected ResultSetIterImpl selectAll(DefaultContext context) throws SQLException{ + FolderIter iter = null; + /*@lineinfo:generated-code*//*@lineinfo:51^2*/ + +// ************************************************************ +// #sql [context] iter = { SELECT ID, PARENTID, CHILDID FROM FOLDER }; +// ************************************************************ + +{ + sqlj.runtime.ConnectionContext __sJT_connCtx = context; + if (__sJT_connCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_DEFAULT_CONN_CTX(); + sqlj.runtime.ExecutionContext __sJT_execCtx = __sJT_connCtx.getExecutionContext(); + if (__sJT_execCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_EXEC_CTX(); + synchronized (__sJT_execCtx) { + sqlj.runtime.profile.RTStatement __sJT_stmt = __sJT_execCtx.registerStatement(__sJT_connCtx, FolderDAO_SJProfileKeys.getKey(0), 2); + try + { + iter = new FolderIter(__sJT_execCtx.executeQuery(), __sJT_execCtx.getFetchSize(), __sJT_execCtx.getMaxRows()); + } + finally + { + __sJT_execCtx.releaseStatement(); + } + } +} + + +// ************************************************************ + +/*@lineinfo:user-code*//*@lineinfo:51^67*/ + return iter; + } + + @Override + protected void delete(DefaultContext context, long id) throws SQLException{ + /*@lineinfo:generated-code*//*@lineinfo:57^2*/ + +// ************************************************************ +// #sql [context] { DELETE FROM FOLDER WHERE ID = :id }; +// ************************************************************ + +{ + sqlj.runtime.ConnectionContext __sJT_connCtx = context; + if (__sJT_connCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_DEFAULT_CONN_CTX(); + sqlj.runtime.ExecutionContext __sJT_execCtx = __sJT_connCtx.getExecutionContext(); + if (__sJT_execCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_EXEC_CTX(); + synchronized (__sJT_execCtx) { + sqlj.runtime.profile.RTStatement __sJT_stmt = __sJT_execCtx.registerStatement(__sJT_connCtx, FolderDAO_SJProfileKeys.getKey(0), 3); + try + { + __sJT_stmt.setLong(1, id); + __sJT_execCtx.executeUpdate(); + } + finally + { + __sJT_execCtx.releaseStatement(); + } + } +} + + +// ************************************************************ + +/*@lineinfo:user-code*//*@lineinfo:57^53*/ + } + + @Override + protected void truncateTable(DefaultContext context) throws SQLException{ + /*@lineinfo:generated-code*//*@lineinfo:62^2*/ + +// ************************************************************ +// #sql [context] { TRUNCATE TABLE FOLDER DROP STORAGE IGNORE DELETE TRIGGERS IMMEDIATE }; +// ************************************************************ + +{ + sqlj.runtime.ConnectionContext __sJT_connCtx = context; + if (__sJT_connCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_DEFAULT_CONN_CTX(); + sqlj.runtime.ExecutionContext __sJT_execCtx = __sJT_connCtx.getExecutionContext(); + if (__sJT_execCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_EXEC_CTX(); + synchronized (__sJT_execCtx) { + sqlj.runtime.profile.RTStatement __sJT_stmt = __sJT_execCtx.registerStatement(__sJT_connCtx, FolderDAO_SJProfileKeys.getKey(0), 4); + try + { + __sJT_execCtx.executeUpdate(); + } + finally + { + __sJT_execCtx.releaseStatement(); + } + } +} + + +// ************************************************************ + +/*@lineinfo:user-code*//*@lineinfo:62^87*/ + } + + @Override + protected void insert(DefaultContext context, IEntityBase entity) throws SQLException{ + Folder obj = (Folder) entity; + long parentId = obj.getParentId(); + long childId = obj.getChildId(); + + /*@lineinfo:generated-code*//*@lineinfo:71^2*/ + +// ************************************************************ +// #sql [context] { INSERT INTO FOLDER (PARENTID, CHILDID) VALUES (:parentId, :childId) }; +// ************************************************************ + +{ + sqlj.runtime.ConnectionContext __sJT_connCtx = context; + if (__sJT_connCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_DEFAULT_CONN_CTX(); + sqlj.runtime.ExecutionContext __sJT_execCtx = __sJT_connCtx.getExecutionContext(); + if (__sJT_execCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_EXEC_CTX(); + synchronized (__sJT_execCtx) { + sqlj.runtime.profile.RTStatement __sJT_stmt = __sJT_execCtx.registerStatement(__sJT_connCtx, FolderDAO_SJProfileKeys.getKey(0), 5); + try + { + __sJT_stmt.setLong(1, parentId); + __sJT_stmt.setLong(2, childId); + __sJT_execCtx.executeUpdate(); + } + finally + { + __sJT_execCtx.releaseStatement(); + } + } +} + + +// ************************************************************ + +/*@lineinfo:user-code*//*@lineinfo:71^87*/ + } + +}/*@lineinfo:generated-code*/class FolderDAO_SJProfileKeys +{ + private java.lang.Object[] keys; + private final sqlj.runtime.profile.Loader loader = sqlj.runtime.RuntimeContext.getRuntime().getLoaderForClass(getClass()); + private static FolderDAO_SJProfileKeys inst = null; + public static java.lang.Object getKey(int keyNum) + throws java.sql.SQLException + { + synchronized(user.jobengine.db.FolderDAO_SJProfileKeys.class) { + if (inst == null) + { + inst = new FolderDAO_SJProfileKeys(); + } + } + return inst.keys[keyNum]; + } + private FolderDAO_SJProfileKeys() + throws java.sql.SQLException + { + keys = new java.lang.Object[1]; + keys[0] = DefaultContext.getProfileKey(loader, "user.jobengine.db.FolderDAO_SJProfile0"); + } +} diff --git a/server/user.jobengine.osgi.db/generated/user/jobengine/db/ItemIter.java b/server/user.jobengine.osgi.db/generated/user/jobengine/db/ItemIter.java new file mode 100644 index 00000000..5eb8196c --- /dev/null +++ b/server/user.jobengine.osgi.db/generated/user/jobengine/db/ItemIter.java @@ -0,0 +1,86 @@ +/*@lineinfo:filename=ItemIter*//*@lineinfo:user-code*//*@lineinfo:1^1*/package user.jobengine.db; + +import java.sql.Timestamp; + +/*@lineinfo:generated-code*//*@lineinfo:5^2*/ + +// ************************************************************ +// SQLJ iterator declaration: +// ************************************************************ + +public class ItemIter +extends sqlj.runtime.ref.ResultSetIterImpl +implements sqlj.runtime.NamedIterator +{ + private int isFolderNdx; + private int createdNdx; + private int houseIdNdx; + private int itemTypeIdNdx; + private int descriptionNdx; + private int titleNdx; + private int idNdx; + public ItemIter(sqlj.runtime.profile.RTResultSet resultSet) + throws java.sql.SQLException + { + super(resultSet); + idNdx = findColumn("id"); + titleNdx = findColumn("title"); + descriptionNdx = findColumn("description"); + itemTypeIdNdx = findColumn("itemTypeId"); + houseIdNdx = findColumn("houseId"); + createdNdx = findColumn("created"); + isFolderNdx = findColumn("isFolder"); + } + public ItemIter(sqlj.runtime.profile.RTResultSet resultSet, int fetchSize, int maxRows) + throws java.sql.SQLException + { + super(resultSet, fetchSize, maxRows); + idNdx = findColumn("id"); + titleNdx = findColumn("title"); + descriptionNdx = findColumn("description"); + itemTypeIdNdx = findColumn("itemTypeId"); + houseIdNdx = findColumn("houseId"); + createdNdx = findColumn("created"); + isFolderNdx = findColumn("isFolder"); + } + public long id() + throws java.sql.SQLException + { + return resultSet.getLongNoNull(idNdx); + } + public String title() + throws java.sql.SQLException + { + return resultSet.getString(titleNdx); + } + public String description() + throws java.sql.SQLException + { + return resultSet.getString(descriptionNdx); + } + public long itemTypeId() + throws java.sql.SQLException + { + return resultSet.getLongNoNull(itemTypeIdNdx); + } + public String houseId() + throws java.sql.SQLException + { + return resultSet.getString(houseIdNdx); + } + public Timestamp created() + throws java.sql.SQLException + { + return resultSet.getTimestamp(createdNdx); + } + public String isFolder() + throws java.sql.SQLException + { + return resultSet.getString(isFolderNdx); + } +} + + +// ************************************************************ + +/*@lineinfo:user-code*//*@lineinfo:5^140*//*@lineinfo:generated-code*/ \ No newline at end of file diff --git a/server/user.jobengine.osgi.db/generated/user/jobengine/db/MasterIdDAO.java b/server/user.jobengine.osgi.db/generated/user/jobengine/db/MasterIdDAO.java new file mode 100644 index 00000000..ba6c52aa --- /dev/null +++ b/server/user.jobengine.osgi.db/generated/user/jobengine/db/MasterIdDAO.java @@ -0,0 +1,169 @@ +/*@lineinfo:filename=MasterIdDAO*//*@lineinfo:user-code*//*@lineinfo:1^1*/package user.jobengine.db; + +import user.commons.IEntityBase; +import sqlj.runtime.ref.*; +import java.sql.SQLException; +import java.sql.Timestamp; +import java.util.Date; +import java.util.List; +import java.util.ArrayList; + +/*@lineinfo:generated-code*//*@lineinfo:11^2*/ + +// ************************************************************ +// SQLJ iterator declaration: +// ************************************************************ + +class MasterIdIter +extends sqlj.runtime.ref.ResultSetIterImpl +implements sqlj.runtime.NamedIterator +{ + private int createdNdx; + private int idNdx; + public MasterIdIter(sqlj.runtime.profile.RTResultSet resultSet) + throws java.sql.SQLException + { + super(resultSet); + idNdx = findColumn("id"); + createdNdx = findColumn("created"); + } + public MasterIdIter(sqlj.runtime.profile.RTResultSet resultSet, int fetchSize, int maxRows) + throws java.sql.SQLException + { + super(resultSet, fetchSize, maxRows); + idNdx = findColumn("id"); + createdNdx = findColumn("created"); + } + public long id() + throws java.sql.SQLException + { + return resultSet.getLongNoNull(idNdx); + } + public Timestamp created() + throws java.sql.SQLException + { + return resultSet.getTimestamp(createdNdx); + } +} + + +// ************************************************************ + +/*@lineinfo:user-code*//*@lineinfo:11^53*/ + +@SuppressWarnings("unused") +class MasterIdDAO extends EntityBaseDAO { + + public MasterIdDAO(ItemManager manager) { + super(manager); + } + + @Override + protected List entities(DefaultContext context, ResultSetIterImpl iter, boolean isChunked) throws SQLException { + List result = null; + ShotIter iterator = (ShotIter) iter; + while (iterator.next()) { + MasterId entity = new MasterId(); + entity.setId(iterator.id()); + entity.setCreated(iterator.created()); + + if (result == null) + result = new ArrayList(); + result.add(entity); + } + iterator.close(); + return result; + } + + + @Override + protected void insert(DefaultContext context, IEntityBase entity) throws SQLException{ + MasterId obj = (MasterId) entity; + obj.setCreated(new Timestamp(new Date().getTime())); + Timestamp created = obj.getCreated(); + + /*@lineinfo:generated-code*//*@lineinfo:44^2*/ + +// ************************************************************ +// #sql [context] { INSERT INTO MASTERID (CREATED) VALUES (:created) }; +// ************************************************************ + +{ + sqlj.runtime.ConnectionContext __sJT_connCtx = context; + if (__sJT_connCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_DEFAULT_CONN_CTX(); + sqlj.runtime.ExecutionContext __sJT_execCtx = __sJT_connCtx.getExecutionContext(); + if (__sJT_execCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_EXEC_CTX(); + synchronized (__sJT_execCtx) { + sqlj.runtime.profile.RTStatement __sJT_stmt = __sJT_execCtx.registerStatement(__sJT_connCtx, MasterIdDAO_SJProfileKeys.getKey(0), 0); + try + { + __sJT_stmt.setTimestamp(1, created); + __sJT_execCtx.executeUpdate(); + } + finally + { + __sJT_execCtx.releaseStatement(); + } + } +} + + +// ************************************************************ + +/*@lineinfo:user-code*//*@lineinfo:44^68*/ + } + + @Override + protected void truncateTable(DefaultContext context) throws SQLException{ + /*@lineinfo:generated-code*//*@lineinfo:49^2*/ + +// ************************************************************ +// #sql [context] { TRUNCATE TABLE MASTERID DROP STORAGE IGNORE DELETE TRIGGERS IMMEDIATE }; +// ************************************************************ + +{ + sqlj.runtime.ConnectionContext __sJT_connCtx = context; + if (__sJT_connCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_DEFAULT_CONN_CTX(); + sqlj.runtime.ExecutionContext __sJT_execCtx = __sJT_connCtx.getExecutionContext(); + if (__sJT_execCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_EXEC_CTX(); + synchronized (__sJT_execCtx) { + sqlj.runtime.profile.RTStatement __sJT_stmt = __sJT_execCtx.registerStatement(__sJT_connCtx, MasterIdDAO_SJProfileKeys.getKey(0), 1); + try + { + __sJT_execCtx.executeUpdate(); + } + finally + { + __sJT_execCtx.releaseStatement(); + } + } +} + + +// ************************************************************ + +/*@lineinfo:user-code*//*@lineinfo:49^89*/ + } +}/*@lineinfo:generated-code*/class MasterIdDAO_SJProfileKeys +{ + private java.lang.Object[] keys; + private final sqlj.runtime.profile.Loader loader = sqlj.runtime.RuntimeContext.getRuntime().getLoaderForClass(getClass()); + private static MasterIdDAO_SJProfileKeys inst = null; + public static java.lang.Object getKey(int keyNum) + throws java.sql.SQLException + { + synchronized(user.jobengine.db.MasterIdDAO_SJProfileKeys.class) { + if (inst == null) + { + inst = new MasterIdDAO_SJProfileKeys(); + } + } + return inst.keys[keyNum]; + } + private MasterIdDAO_SJProfileKeys() + throws java.sql.SQLException + { + keys = new java.lang.Object[1]; + keys[0] = DefaultContext.getProfileKey(loader, "user.jobengine.db.MasterIdDAO_SJProfile0"); + } +} diff --git a/server/user.jobengine.osgi.db/generated/user/jobengine/db/MetadataDAO.java b/server/user.jobengine.osgi.db/generated/user/jobengine/db/MetadataDAO.java new file mode 100644 index 00000000..3dc91a08 --- /dev/null +++ b/server/user.jobengine.osgi.db/generated/user/jobengine/db/MetadataDAO.java @@ -0,0 +1,906 @@ +/*@lineinfo:filename=MetadataDAO*//*@lineinfo:user-code*//*@lineinfo:1^1*/package user.jobengine.db; + +import user.commons.IEntityBase; +import sqlj.runtime.ref.*; +import user.jobengine.db.ItemManagerData.SignalType; +import java.sql.Connection; +import java.sql.SQLException; +import java.sql.Statement; +import java.util.List; +import java.util.ArrayList; + +/*@lineinfo:generated-code*//*@lineinfo:12^2*/ + +// ************************************************************ +// SQLJ iterator declaration: +// ************************************************************ + +class MetadataIter +extends sqlj.runtime.ref.ResultSetIterImpl +implements sqlj.runtime.NamedIterator +{ + private int metadataElementIdNdx; + private int itemTypeIdNdx; + private int parameterNdx; + private int staticTableNdx; + private int sqlFieldNdx; + private int pojoFieldNdx; + private int listTypeNdx; + private int guiTypeNdx; + private int isSearchableNdx; + private int isGeneratedNdx; + private int isListableNdx; + private int isEditableNdx; + private int isDbNullableNdx; + private int isDbUniqueNdx; + private int isDbIndexNdx; + private int idNdx; + public MetadataIter(sqlj.runtime.profile.RTResultSet resultSet) + throws java.sql.SQLException + { + super(resultSet); + idNdx = findColumn("id"); + isDbIndexNdx = findColumn("isDbIndex"); + isDbUniqueNdx = findColumn("isDbUnique"); + isDbNullableNdx = findColumn("isDbNullable"); + isEditableNdx = findColumn("isEditable"); + isListableNdx = findColumn("isListable"); + isGeneratedNdx = findColumn("isGenerated"); + isSearchableNdx = findColumn("isSearchable"); + guiTypeNdx = findColumn("guiType"); + listTypeNdx = findColumn("listType"); + pojoFieldNdx = findColumn("pojoField"); + sqlFieldNdx = findColumn("sqlField"); + staticTableNdx = findColumn("staticTable"); + parameterNdx = findColumn("parameter"); + itemTypeIdNdx = findColumn("itemTypeId"); + metadataElementIdNdx = findColumn("metadataElementId"); + } + public MetadataIter(sqlj.runtime.profile.RTResultSet resultSet, int fetchSize, int maxRows) + throws java.sql.SQLException + { + super(resultSet, fetchSize, maxRows); + idNdx = findColumn("id"); + isDbIndexNdx = findColumn("isDbIndex"); + isDbUniqueNdx = findColumn("isDbUnique"); + isDbNullableNdx = findColumn("isDbNullable"); + isEditableNdx = findColumn("isEditable"); + isListableNdx = findColumn("isListable"); + isGeneratedNdx = findColumn("isGenerated"); + isSearchableNdx = findColumn("isSearchable"); + guiTypeNdx = findColumn("guiType"); + listTypeNdx = findColumn("listType"); + pojoFieldNdx = findColumn("pojoField"); + sqlFieldNdx = findColumn("sqlField"); + staticTableNdx = findColumn("staticTable"); + parameterNdx = findColumn("parameter"); + itemTypeIdNdx = findColumn("itemTypeId"); + metadataElementIdNdx = findColumn("metadataElementId"); + } + public long id() + throws java.sql.SQLException + { + return resultSet.getLongNoNull(idNdx); + } + public String isDbIndex() + throws java.sql.SQLException + { + return resultSet.getString(isDbIndexNdx); + } + public String isDbUnique() + throws java.sql.SQLException + { + return resultSet.getString(isDbUniqueNdx); + } + public String isDbNullable() + throws java.sql.SQLException + { + return resultSet.getString(isDbNullableNdx); + } + public String isEditable() + throws java.sql.SQLException + { + return resultSet.getString(isEditableNdx); + } + public String isListable() + throws java.sql.SQLException + { + return resultSet.getString(isListableNdx); + } + public String isGenerated() + throws java.sql.SQLException + { + return resultSet.getString(isGeneratedNdx); + } + public String isSearchable() + throws java.sql.SQLException + { + return resultSet.getString(isSearchableNdx); + } + public String guiType() + throws java.sql.SQLException + { + return resultSet.getString(guiTypeNdx); + } + public String listType() + throws java.sql.SQLException + { + return resultSet.getString(listTypeNdx); + } + public String pojoField() + throws java.sql.SQLException + { + return resultSet.getString(pojoFieldNdx); + } + public String sqlField() + throws java.sql.SQLException + { + return resultSet.getString(sqlFieldNdx); + } + public String staticTable() + throws java.sql.SQLException + { + return resultSet.getString(staticTableNdx); + } + public String parameter() + throws java.sql.SQLException + { + return resultSet.getString(parameterNdx); + } + public long itemTypeId() + throws java.sql.SQLException + { + return resultSet.getLongNoNull(itemTypeIdNdx); + } + public long metadataElementId() + throws java.sql.SQLException + { + return resultSet.getLongNoNull(metadataElementIdNdx); + } +} + + +// ************************************************************ + +/*@lineinfo:user-code*//*@lineinfo:12^318*/ + +@SuppressWarnings("unused") +class MetadataDAO extends EntityBaseDAO { + + public MetadataDAO(ItemManager manager) { + super(manager); + } + + @Override + protected void afterAdd(DefaultContext context, IEntityBase entity) throws SQLException { + Metadata metadata = (Metadata) entity; + if (metadata.requireDataTable()) + createTable(context.getConnection(), entity); + manager.notifyItemTypeChange(entity, SignalType.CREATE); + } + + @Override + protected void afterModify(DefaultContext context, IEntityBase entity) throws SQLException { + Metadata metadata = (Metadata) entity; + if (metadata.requireDataTable()) { + dropTable(context.getConnection(), entity); + createTable(context.getConnection(), entity); + } + manager.notifyItemTypeChange(entity, SignalType.UPDATE); + } + + @Override + protected void afterDelete(DefaultContext context, IEntityBase entity) throws SQLException { + Metadata metadata = (Metadata) entity; + if (metadata.requireDataTable()) + dropTable(context.getConnection(), entity); + manager.notifyItemTypeChange(entity, SignalType.DELETE); + } + + @Override + protected List entities(DefaultContext context, ResultSetIterImpl iter, boolean isChunked) throws SQLException { + List result = null; + MetadataIter iterator = (MetadataIter) iter; + while (iterator.next()) { + Metadata entity = new Metadata(); + entity.setId(iterator.id()); + entity.setIsDbIndex(iterator.isDbIndex().equals("Y") ? true : false); + entity.setIsDbUnique(iterator.isDbUnique().equals("Y") ? true : false); + entity.setIsDbNullable(iterator.isDbNullable().equals("Y") ? true : false); + entity.setIsEditable(iterator.isEditable().equals("Y") ? true : false); + entity.setIsListable(iterator.isListable().equals("Y") ? true : false); + entity.setIsGenerated(iterator.isGenerated().equals("Y") ? true : false); + entity.setIsSearchable(iterator.isSearchable().equals("Y") ? true : false); + entity.setGuiType(ItemManagerData.toGuiType(iterator.guiType())); + entity.setListType(ItemManagerData.toListType(iterator.listType())); + entity.setPojoField(iterator.pojoField()); + entity.setSqlField(iterator.sqlField()); + entity.setStaticTable(ItemManagerData.toStaticTable(iterator.staticTable())); + entity.setParameter(iterator.parameter()); + entity.setItemTypeId(iterator.itemTypeId()); + entity.setMetadataElementId(iterator.metadataElementId()); + + if (result == null) + result = new ArrayList(); + result.add(entity); + } + iterator.close(); + return result; + } + + @Override + protected ResultSetIterImpl selectByKey(DefaultContext context, long id) throws SQLException{ + MetadataIter iter = null; + /*@lineinfo:generated-code*//*@lineinfo:81^2*/ + +// ************************************************************ +// #sql [context] iter = { SELECT ID, ISDBINDEX, ISDBUNIQUE, ISDBNULLABLE, ISEDITABLE, ISLISTABLE, ISGENERATED, ISSEARCHABLE, GUITYPE, LISTTYPE, POJOFIELD, SQLFIELD, STATICTABLE, PARAMETER, ITEMTYPEID, METADATAELEMENTID FROM METADATA WHERE ID = :id }; +// ************************************************************ + +{ + sqlj.runtime.ConnectionContext __sJT_connCtx = context; + if (__sJT_connCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_DEFAULT_CONN_CTX(); + sqlj.runtime.ExecutionContext __sJT_execCtx = __sJT_connCtx.getExecutionContext(); + if (__sJT_execCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_EXEC_CTX(); + synchronized (__sJT_execCtx) { + sqlj.runtime.profile.RTStatement __sJT_stmt = __sJT_execCtx.registerStatement(__sJT_connCtx, MetadataDAO_SJProfileKeys.getKey(0), 0); + try + { + __sJT_stmt.setLong(1, id); + iter = new MetadataIter(__sJT_execCtx.executeQuery(), __sJT_execCtx.getFetchSize(), __sJT_execCtx.getMaxRows()); + } + finally + { + __sJT_execCtx.releaseStatement(); + } + } +} + + +// ************************************************************ + +/*@lineinfo:user-code*//*@lineinfo:81^248*/ + return iter; + } + + @Override + protected ResultSetIterImpl selectByForeignKey(DefaultContext context, long id) throws SQLException{ + MetadataIter iter = null; + /*@lineinfo:generated-code*//*@lineinfo:88^2*/ + +// ************************************************************ +// #sql [context] iter = { SELECT ID, ISDBINDEX, ISDBUNIQUE, ISDBNULLABLE, ISEDITABLE, ISLISTABLE, ISGENERATED, ISSEARCHABLE,GUITYPE, LISTTYPE, POJOFIELD, SQLFIELD, STATICTABLE, PARAMETER, ITEMTYPEID, METADATAELEMENTID FROM METADATA WHERE ITEMTYPEID = :id }; +// ************************************************************ + +{ + sqlj.runtime.ConnectionContext __sJT_connCtx = context; + if (__sJT_connCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_DEFAULT_CONN_CTX(); + sqlj.runtime.ExecutionContext __sJT_execCtx = __sJT_connCtx.getExecutionContext(); + if (__sJT_execCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_EXEC_CTX(); + synchronized (__sJT_execCtx) { + sqlj.runtime.profile.RTStatement __sJT_stmt = __sJT_execCtx.registerStatement(__sJT_connCtx, MetadataDAO_SJProfileKeys.getKey(0), 1); + try + { + __sJT_stmt.setLong(1, id); + iter = new MetadataIter(__sJT_execCtx.executeQuery(), __sJT_execCtx.getFetchSize(), __sJT_execCtx.getMaxRows()); + } + finally + { + __sJT_execCtx.releaseStatement(); + } + } +} + + +// ************************************************************ + +/*@lineinfo:user-code*//*@lineinfo:88^255*/ + return iter; + } + + @Override + protected ResultSetIterImpl selectAll(DefaultContext context) throws SQLException{ + MetadataIter iter = null; + /*@lineinfo:generated-code*//*@lineinfo:95^2*/ + +// ************************************************************ +// #sql [context] iter = { SELECT ID, ISDBINDEX, ISDBUNIQUE, ISDBNULLABLE, ISEDITABLE, ISLISTABLE, ISGENERATED, ISSEARCHABLE, GUITYPE, LISTTYPE, POJOFIELD, SQLFIELD, STATICTABLE, PARAMETER, ITEMTYPEID, METADATAELEMENTID FROM METADATA }; +// ************************************************************ + +{ + sqlj.runtime.ConnectionContext __sJT_connCtx = context; + if (__sJT_connCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_DEFAULT_CONN_CTX(); + sqlj.runtime.ExecutionContext __sJT_execCtx = __sJT_connCtx.getExecutionContext(); + if (__sJT_execCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_EXEC_CTX(); + synchronized (__sJT_execCtx) { + sqlj.runtime.profile.RTStatement __sJT_stmt = __sJT_execCtx.registerStatement(__sJT_connCtx, MetadataDAO_SJProfileKeys.getKey(0), 2); + try + { + iter = new MetadataIter(__sJT_execCtx.executeQuery(), __sJT_execCtx.getFetchSize(), __sJT_execCtx.getMaxRows()); + } + finally + { + __sJT_execCtx.releaseStatement(); + } + } +} + + +// ************************************************************ + +/*@lineinfo:user-code*//*@lineinfo:95^233*/ + return iter; + } + + @Override + protected void delete(DefaultContext context, long id) throws SQLException{ + /*@lineinfo:generated-code*//*@lineinfo:101^2*/ + +// ************************************************************ +// #sql [context] { DELETE FROM METADATA WHERE ID = :id }; +// ************************************************************ + +{ + sqlj.runtime.ConnectionContext __sJT_connCtx = context; + if (__sJT_connCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_DEFAULT_CONN_CTX(); + sqlj.runtime.ExecutionContext __sJT_execCtx = __sJT_connCtx.getExecutionContext(); + if (__sJT_execCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_EXEC_CTX(); + synchronized (__sJT_execCtx) { + sqlj.runtime.profile.RTStatement __sJT_stmt = __sJT_execCtx.registerStatement(__sJT_connCtx, MetadataDAO_SJProfileKeys.getKey(0), 3); + try + { + __sJT_stmt.setLong(1, id); + __sJT_execCtx.executeUpdate(); + } + finally + { + __sJT_execCtx.releaseStatement(); + } + } +} + + +// ************************************************************ + +/*@lineinfo:user-code*//*@lineinfo:101^55*/ + } + + @Override + protected void truncateTable(DefaultContext context) throws SQLException{ + /*@lineinfo:generated-code*//*@lineinfo:106^2*/ + +// ************************************************************ +// #sql [context] { TRUNCATE TABLE METADATA DROP STORAGE IGNORE DELETE TRIGGERS IMMEDIATE }; +// ************************************************************ + +{ + sqlj.runtime.ConnectionContext __sJT_connCtx = context; + if (__sJT_connCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_DEFAULT_CONN_CTX(); + sqlj.runtime.ExecutionContext __sJT_execCtx = __sJT_connCtx.getExecutionContext(); + if (__sJT_execCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_EXEC_CTX(); + synchronized (__sJT_execCtx) { + sqlj.runtime.profile.RTStatement __sJT_stmt = __sJT_execCtx.registerStatement(__sJT_connCtx, MetadataDAO_SJProfileKeys.getKey(0), 4); + try + { + __sJT_execCtx.executeUpdate(); + } + finally + { + __sJT_execCtx.releaseStatement(); + } + } +} + + +// ************************************************************ + +/*@lineinfo:user-code*//*@lineinfo:106^89*/ + } + + @Override + protected void update(DefaultContext context, IEntityBase entity) throws SQLException{ + Metadata obj = (Metadata) entity; + long id = obj.getId(); + String isDbIndex = obj.getIsDbIndex() == true ? "Y" : "N"; + String isDbUnique = obj.getIsDbUnique() == true ? "Y" : "N"; + String isDbNullable = obj.getIsDbNullable() == true ? "Y" : "N"; + String isEditable = obj.getIsEditable() == true ? "Y" : "N"; + String isListable = obj.getIsListable() == true ? "Y" : "N"; + String isGenerated = obj.getIsGenerated() == true ? "Y" : "N"; + String isSearchable = obj.getIsSearchable() == true ? "Y" : "N"; + String guiType = obj.getGuiType().toString(); + String listType = obj.getListType().toString(); + String pojoField = obj.getPojoField(); + String sqlField = obj.getSqlField(); + String staticTable = obj.getStaticTable() == null ? null : obj.getStaticTable().toString(); + String parameter = obj.getParameter(); + long itemTypeId = obj.getItemTypeId(); + long metadataElementId = obj.getMetadataElementId(); + + /*@lineinfo:generated-code*//*@lineinfo:129^2*/ + +// ************************************************************ +// #sql [context] { UPDATE METADATA SET ISDBINDEX = :isDbIndex, ISDBUNIQUE = :isDbUnique, ISDBNULLABLE = :isDbNullable, ISEDITABLE = :isEditable, ISLISTABLE = :isListable, ISGENERATED = :isGenerated, ISSEARCHABLE = :isSearchable, GUITYPE = :guiType, LISTTYPE = :listType, POJOFIELD = :pojoField, SQLFIELD = :sqlField, STATICTABLE = :staticTable, PARAMETER = :parameter, ITEMTYPEID = :itemTypeId, METADATAELEMENTID = :metadataElementId WHERE ID = :id }; +// ************************************************************ + +{ + sqlj.runtime.ConnectionContext __sJT_connCtx = context; + if (__sJT_connCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_DEFAULT_CONN_CTX(); + sqlj.runtime.ExecutionContext __sJT_execCtx = __sJT_connCtx.getExecutionContext(); + if (__sJT_execCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_EXEC_CTX(); + synchronized (__sJT_execCtx) { + sqlj.runtime.profile.RTStatement __sJT_stmt = __sJT_execCtx.registerStatement(__sJT_connCtx, MetadataDAO_SJProfileKeys.getKey(0), 5); + try + { + __sJT_stmt.setString(1, isDbIndex); + __sJT_stmt.setString(2, isDbUnique); + __sJT_stmt.setString(3, isDbNullable); + __sJT_stmt.setString(4, isEditable); + __sJT_stmt.setString(5, isListable); + __sJT_stmt.setString(6, isGenerated); + __sJT_stmt.setString(7, isSearchable); + __sJT_stmt.setString(8, guiType); + __sJT_stmt.setString(9, listType); + __sJT_stmt.setString(10, pojoField); + __sJT_stmt.setString(11, sqlField); + __sJT_stmt.setString(12, staticTable); + __sJT_stmt.setString(13, parameter); + __sJT_stmt.setLong(14, itemTypeId); + __sJT_stmt.setLong(15, metadataElementId); + __sJT_stmt.setLong(16, id); + __sJT_execCtx.executeUpdate(); + } + finally + { + __sJT_execCtx.releaseStatement(); + } + } +} + + +// ************************************************************ + +/*@lineinfo:user-code*//*@lineinfo:129^449*/ + } + + @Override + protected void insert(DefaultContext context, IEntityBase entity) throws SQLException{ + Metadata obj = (Metadata) entity; + String isDbIndex = obj.getIsDbIndex() == true ? "Y" : "N"; + String isDbUnique = obj.getIsDbUnique() == true ? "Y" : "N"; + String isDbNullable = obj.getIsDbNullable() == true ? "Y" : "N"; + String isEditable = obj.getIsEditable() == true ? "Y" : "N"; + String isListable = obj.getIsListable() == true ? "Y" : "N"; + String isGenerated = obj.getIsGenerated() == true ? "Y" : "N"; + String isSearchable = obj.getIsSearchable() == true ? "Y" : "N"; + String guiType = obj.getGuiType().toString(); + String listType = obj.getListType().toString(); + String pojoField = obj.getPojoField(); + String sqlField = obj.getSqlField(); + String staticTable = obj.getStaticTable() == null ? null : obj.getStaticTable().toString(); + String parameter = obj.getParameter(); + long itemTypeId = obj.getItemTypeId(); + long metadataElementId = obj.getMetadataElementId(); + + /*@lineinfo:generated-code*//*@lineinfo:151^2*/ + +// ************************************************************ +// #sql [context] { INSERT INTO METADATA (ISDBINDEX, ISDBUNIQUE, ISDBNULLABLE, ISEDITABLE, ISLISTABLE, ISGENERATED, ISSEARCHABLE, GUITYPE, LISTTYPE, POJOFIELD, SQLFIELD, STATICTABLE, PARAMETER, ITEMTYPEID, METADATAELEMENTID) +// VALUES (:isDbIndex, :isDbUnique, :isDbNullable, :isEditable, :isListable, :isGenerated, :isSearchable, :guiType, :listType, :pojoField, :sqlField, :staticTable, :parameter, :itemTypeId, :metadataElementId) }; +// ************************************************************ + +{ + sqlj.runtime.ConnectionContext __sJT_connCtx = context; + if (__sJT_connCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_DEFAULT_CONN_CTX(); + sqlj.runtime.ExecutionContext __sJT_execCtx = __sJT_connCtx.getExecutionContext(); + if (__sJT_execCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_EXEC_CTX(); + synchronized (__sJT_execCtx) { + sqlj.runtime.profile.RTStatement __sJT_stmt = __sJT_execCtx.registerStatement(__sJT_connCtx, MetadataDAO_SJProfileKeys.getKey(0), 6); + try + { + __sJT_stmt.setString(1, isDbIndex); + __sJT_stmt.setString(2, isDbUnique); + __sJT_stmt.setString(3, isDbNullable); + __sJT_stmt.setString(4, isEditable); + __sJT_stmt.setString(5, isListable); + __sJT_stmt.setString(6, isGenerated); + __sJT_stmt.setString(7, isSearchable); + __sJT_stmt.setString(8, guiType); + __sJT_stmt.setString(9, listType); + __sJT_stmt.setString(10, pojoField); + __sJT_stmt.setString(11, sqlField); + __sJT_stmt.setString(12, staticTable); + __sJT_stmt.setString(13, parameter); + __sJT_stmt.setLong(14, itemTypeId); + __sJT_stmt.setLong(15, metadataElementId); + __sJT_execCtx.executeUpdate(); + } + finally + { + __sJT_execCtx.releaseStatement(); + } + } +} + + +// ************************************************************ + +/*@lineinfo:user-code*//*@lineinfo:152^208*/ + } + + public IEntityBase get(String name) { + manager.traceIn(); + DefaultContext context = manager.getDbContext(); + IEntityBase entity = null; + try { + MetadataIter iter = null; + /*@lineinfo:generated-code*//*@lineinfo:161^3*/ + +// ************************************************************ +// #sql [context] iter = { SELECT ID, ISDBINDEX, ISDBUNIQUE, ISDBNULLABLE, ISEDITABLE, ISLISTABLE, ISGENERATED, ISSEARCHABLE, GUITYPE, LISTTYPE, POJOFIELD, SQLFIELD, STATICTABLE, PARAMETER, ITEMTYPEID, METADATAELEMENTID FROM METADATA WHERE NAME = :name }; +// ************************************************************ + +{ + sqlj.runtime.ConnectionContext __sJT_connCtx = context; + if (__sJT_connCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_DEFAULT_CONN_CTX(); + sqlj.runtime.ExecutionContext __sJT_execCtx = __sJT_connCtx.getExecutionContext(); + if (__sJT_execCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_EXEC_CTX(); + synchronized (__sJT_execCtx) { + sqlj.runtime.profile.RTStatement __sJT_stmt = __sJT_execCtx.registerStatement(__sJT_connCtx, MetadataDAO_SJProfileKeys.getKey(0), 7); + try + { + __sJT_stmt.setString(1, name); + iter = new MetadataIter(__sJT_execCtx.executeQuery(), __sJT_execCtx.getFetchSize(), __sJT_execCtx.getMaxRows()); + } + finally + { + __sJT_execCtx.releaseStatement(); + } + } +} + + +// ************************************************************ + +/*@lineinfo:user-code*//*@lineinfo:161^253*/ + List result = entities(context, iter, false); + if (result != null && result.size() == 1) + entity = result.get(0); + /*@lineinfo:generated-code*//*@lineinfo:165^3*/ + +// ************************************************************ +// #sql [context] { COMMIT }; +// ************************************************************ + +{ + sqlj.runtime.ConnectionContext __sJT_connCtx = context; + if (__sJT_connCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_DEFAULT_CONN_CTX(); + sqlj.runtime.ExecutionContext __sJT_execCtx = __sJT_connCtx.getExecutionContext(); + if (__sJT_execCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_EXEC_CTX(); + synchronized (__sJT_execCtx) { + sqlj.runtime.profile.RTStatement __sJT_stmt = __sJT_execCtx.registerStatement(__sJT_connCtx, MetadataDAO_SJProfileKeys.getKey(0), 8); + try + { + __sJT_execCtx.executeUpdate(); + } + finally + { + __sJT_execCtx.releaseStatement(); + } + } +} + + +// ************************************************************ + +/*@lineinfo:user-code*//*@lineinfo:165^27*/ + } catch (Exception e) { + logger.error(e.getMessage()); + try { + /*@lineinfo:generated-code*//*@lineinfo:169^4*/ + +// ************************************************************ +// #sql [context] { ROLLBACK }; +// ************************************************************ + +{ + sqlj.runtime.ConnectionContext __sJT_connCtx = context; + if (__sJT_connCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_DEFAULT_CONN_CTX(); + sqlj.runtime.ExecutionContext __sJT_execCtx = __sJT_connCtx.getExecutionContext(); + if (__sJT_execCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_EXEC_CTX(); + synchronized (__sJT_execCtx) { + sqlj.runtime.profile.RTStatement __sJT_stmt = __sJT_execCtx.registerStatement(__sJT_connCtx, MetadataDAO_SJProfileKeys.getKey(0), 9); + try + { + __sJT_execCtx.executeUpdate(); + } + finally + { + __sJT_execCtx.releaseStatement(); + } + } +} + + +// ************************************************************ + +/*@lineinfo:user-code*//*@lineinfo:169^30*/ + } catch(Exception e1) { + } + } finally { + manager.putDbContext(context); + } + manager.traceOut(); + return entity; + } + + /** + * Besz\ufffdrja az ItemType objektumhoz kapcsol\ufffdd\ufffd Metadata adatokat. + */ + void addAll(DefaultContext context, ItemType itemType) throws SQLException { + List metadatas = itemType.getMetadatas(); + if (metadatas != null) { + for (Metadata metadata: metadatas) { + metadata.setItemTypeId(itemType.getId()); + add(context, metadata); + } + } + } + + /** + * T\ufffdrli a param\ufffdterk\ufffdnt kapott ItemType azonos\ufffdt\ufffdhoz tartoz\ufffd Metadata bejegyz\ufffdseket. + */ + void removeAll(DefaultContext context, long filterId) throws SQLException { + manager.traceIn(); + /*@lineinfo:generated-code*//*@lineinfo:197^2*/ + +// ************************************************************ +// #sql [context] { DELETE FROM METADATA WHERE ITEMTYPEID = :filterId }; +// ************************************************************ + +{ + sqlj.runtime.ConnectionContext __sJT_connCtx = context; + if (__sJT_connCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_DEFAULT_CONN_CTX(); + sqlj.runtime.ExecutionContext __sJT_execCtx = __sJT_connCtx.getExecutionContext(); + if (__sJT_execCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_EXEC_CTX(); + synchronized (__sJT_execCtx) { + sqlj.runtime.profile.RTStatement __sJT_stmt = __sJT_execCtx.registerStatement(__sJT_connCtx, MetadataDAO_SJProfileKeys.getKey(0), 10); + try + { + __sJT_stmt.setLong(1, filterId); + __sJT_execCtx.executeUpdate(); + } + finally + { + __sJT_execCtx.releaseStatement(); + } + } +} + + +// ************************************************************ + +/*@lineinfo:user-code*//*@lineinfo:197^69*/ + manager.traceOut(); + } + +// void addColumn(Connection connection, Metadata metadata) throws SQLException { +// Statement st = null; +// try { +// ItemType itemType = ItemManager.getInstance().getItemType(metadata.getItemTypeId()); +// String tableName = itemType.getTableName(); +// String create = metadata.getCreateSQL(); +// List commands = new ArrayList(); +// if (create != null) { +// commands.add("ALTER TABLE " + tableName + " ADD COLUMN " + create); +// String index = metadata.getIndexSQL(); +// if (index != null) +// commands.add(index); +// commands.add("call SYSPROC.ADMIN_CMD ('REORG TABLE " + tableName + "')"); +// } +// st = connection.createStatement(); +// for (String sql: commands) +// st.execute(sql); +// } +// catch (SQLException e) { +// throw new SQLException(e); +// } finally { +// try{ +// if (st != null) +// st.close(); +// } catch (Exception e1) { } +// } +// } +// +// void modifyColumn(Connection connection, Metadata metadata) throws SQLException { +// Statement st = null; +// try { +// ItemType itemType = ItemManager.getInstance().getItemType(metadata.getItemTypeId()); +// String tableName = itemType.getTableName(); +// String columnName = metadata.getColumnName(); +// List commands = new ArrayList(); +// commands.add("ALTER TABLE " + tableName + " DROP COLUMN " + columnName); +// String create = metadata.getCreateSQL(); +// if (create != null) { +// commands.add("ALTER TABLE " + tableName + " ADD COLUMN " + create); +// String index = metadata.getIndexSQL(); +// if (index != null) { +// commands.add("call SYSPROC.ADMIN_CMD ('REORG TABLE " + tableName + "')"); +// commands.add(index); +// } +// commands.add("call SYSPROC.ADMIN_CMD ('REORG TABLE " + tableName + "')"); +// } +// st = connection.createStatement(); +// for (String sql: commands) { +// System.out.println(sql); +// st.execute(sql); +// } +// } +// catch (SQLException e) { +// throw new SQLException(e); +// } finally { +// try{ +// if (st != null) +// st.close(); +// } catch (Exception e1) { } +// } +// } +// +// void removeColumn(Connection connection, Metadata metadata) throws SQLException { +// Statement st = null; +// try { +// ItemType itemType = ItemManager.getInstance().getItemType(metadata.getItemTypeId()); +// String tableName = itemType.getTableName(); +// String columnName = metadata.getColumnName(); +// List commands = new ArrayList(); +// commands.add("ALTER TABLE " + tableName + " DROP COLUMN " + columnName); +// commands.add("call SYSPROC.ADMIN_CMD ('REORG TABLE " + tableName + "')"); +// st = connection.createStatement(); +// for (String sql: commands) +// st.execute(sql); +// } +// catch (SQLException e) { +// throw new SQLException(e); +// } finally { +// try{ +// if (st != null) +// st.close(); +// } catch (Exception e1) { } +// } +// } + +// void dropMetadataTable(Connection connection, ItemType itemType) throws SQLException { +// manager.traceIn(); +// String tableName = itemType.getTableName().toString(); +// Statement st = null; +// try { +// st = connection.createStatement(); +// st.execute("DROP TABLE " + tableName); +// } +// catch (SQLException e) { +// throw new SQLException(e); +// } finally { +// try{ +// if (st != null) +// st.close(); +// } catch (Exception e1) { } +// } +// manager.traceOut(); +// } +// +// void createMetadataTable(Connection connection, ItemType itemType) throws SQLException { +// manager.traceIn(); +// List commands = new ArrayList(); +// List indexes = new ArrayList(); +// String tableName = itemType.getTableName().toString(); +// StringBuilder sb = new StringBuilder(); +// sb.append("CREATE TABLE " + tableName + "("); +// sb.append("ID BIGINT NOT NULL PRIMARY KEY,"); +// sb.append("CONSTRAINT FK_" + tableName + "_ID FOREIGN KEY (ID) REFERENCES MASTERID (ID)"); +// +// List metadatas = itemType.getMetadatas(); +// if (metadatas != null) { +// for (Metadata md : metadatas) { +// String create = md.getCreateSQL(); +// if (create != null) { +// sb.append(", "); +// sb.append(create); +// } +// String index = md.getIndexSQL(); +// if (index != null) +// indexes.add(index); +// } +// } +// sb.append(")"); +// commands.add(sb.toString()); +// commands.addAll(indexes); +// +// Statement st = null; +// try { +// st = connection.createStatement(); +// for (String sql: commands) +// st.execute(sql); +// } +// catch (SQLException e) { +// throw new SQLException(e); +// } finally { +// try{ +// if (st != null) +// st.close(); +// } catch (Exception e1) { } +// } +// manager.traceOut(); +// } + + void createTable(Connection connection, IEntityBase entity) throws SQLException { + manager.traceIn(); + Statement st = null; + Metadata metadata = (Metadata) entity; + try { + String tableName = metadata.getTableName(); + String columnSql = metadata.getCreateSQL(); + String sql = String.format("CREATE TABLE %1$s (ID BIGINT NOT NULL PRIMARY KEY, %2$s, CONSTRAINT FK_%1$s_ID FOREIGN KEY (ID) REFERENCES MASTERID (ID))", tableName, columnSql); + st = connection.createStatement(); + logger.debug(sql); + st.execute(sql); + String index = metadata.getIndexSQL(); + if (index != null) { + logger.debug(index); + st.execute(index); + } + } + catch (SQLException e) { + throw new SQLException(e); + } finally { + try{ + if (st != null) + st.close(); + } catch (Exception e1) { } + } + manager.traceOut(); + } + + void dropTable(Connection connection, IEntityBase entity) throws SQLException { + manager.traceIn(); + Metadata metadata = (Metadata) entity; + String tableName = metadata.getTableName(); + Statement st = null; + try { + st = connection.createStatement(); + String sql = "DROP TABLE " + tableName; + logger.debug(sql); + st.execute(sql); + } + catch (SQLException e) { + throw new SQLException(e); + } finally { + try{ + if (st != null) + st.close(); + } catch (Exception e1) { } + } + manager.traceOut(); + } +}/*@lineinfo:generated-code*/class MetadataDAO_SJProfileKeys +{ + private java.lang.Object[] keys; + private final sqlj.runtime.profile.Loader loader = sqlj.runtime.RuntimeContext.getRuntime().getLoaderForClass(getClass()); + private static MetadataDAO_SJProfileKeys inst = null; + public static java.lang.Object getKey(int keyNum) + throws java.sql.SQLException + { + synchronized(user.jobengine.db.MetadataDAO_SJProfileKeys.class) { + if (inst == null) + { + inst = new MetadataDAO_SJProfileKeys(); + } + } + return inst.keys[keyNum]; + } + private MetadataDAO_SJProfileKeys() + throws java.sql.SQLException + { + keys = new java.lang.Object[1]; + keys[0] = DefaultContext.getProfileKey(loader, "user.jobengine.db.MetadataDAO_SJProfile0"); + } +} diff --git a/server/user.jobengine.osgi.db/generated/user/jobengine/db/StoreDAO.java b/server/user.jobengine.osgi.db/generated/user/jobengine/db/StoreDAO.java new file mode 100644 index 00000000..d5e8ffb0 --- /dev/null +++ b/server/user.jobengine.osgi.db/generated/user/jobengine/db/StoreDAO.java @@ -0,0 +1,448 @@ +/*@lineinfo:filename=StoreDAO*//*@lineinfo:user-code*//*@lineinfo:1^1*/package user.jobengine.db; + +import user.commons.IEntityBase; +import sqlj.runtime.ref.*; +import user.commons.StoreUri; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.List; + +/*@lineinfo:generated-code*//*@lineinfo:10^2*/ + +// ************************************************************ +// SQLJ iterator declaration: +// ************************************************************ + +class StoreIter +extends sqlj.runtime.ref.ResultSetIterImpl +implements sqlj.runtime.NamedIterator +{ + private int isLowresNdx; + private int isSystemNdx; + private int nameNdx; + private int idNdx; + public StoreIter(sqlj.runtime.profile.RTResultSet resultSet) + throws java.sql.SQLException + { + super(resultSet); + idNdx = findColumn("id"); + nameNdx = findColumn("name"); + isSystemNdx = findColumn("isSystem"); + isLowresNdx = findColumn("isLowres"); + } + public StoreIter(sqlj.runtime.profile.RTResultSet resultSet, int fetchSize, int maxRows) + throws java.sql.SQLException + { + super(resultSet, fetchSize, maxRows); + idNdx = findColumn("id"); + nameNdx = findColumn("name"); + isSystemNdx = findColumn("isSystem"); + isLowresNdx = findColumn("isLowres"); + } + public long id() + throws java.sql.SQLException + { + return resultSet.getLongNoNull(idNdx); + } + public String name() + throws java.sql.SQLException + { + return resultSet.getString(nameNdx); + } + public String isSystem() + throws java.sql.SQLException + { + return resultSet.getString(isSystemNdx); + } + public String isLowres() + throws java.sql.SQLException + { + return resultSet.getString(isLowresNdx); + } +} + + +// ************************************************************ + +/*@lineinfo:user-code*//*@lineinfo:10^78*/ + +@SuppressWarnings("unused") +class StoreDAO extends EntityBaseDAO { + + public StoreDAO(ItemManager manager) { + super(manager); + } + + @Override + protected void afterAdd(DefaultContext context, IEntityBase entity) throws SQLException { + StoreUriDAO dao = (StoreUriDAO) manager.getBaseDAO(StoreUri.class); + dao.addAll(context, entity); + } + + @Override + protected void beforeDelete(DefaultContext context, IEntityBase entity) throws SQLException { + StoreUriDAO dao = (StoreUriDAO) manager.getBaseDAO(StoreUri.class); + dao.removeAll(context, entity.getId()); + } + + @Override + protected List entities(DefaultContext context, ResultSetIterImpl iter, boolean isChunked) throws SQLException { + List result = null; + StoreIter iterator = (StoreIter) iter; + while (iterator.next()) { + Store entity = new Store(); + entity.setId(iterator.id()); + entity.setName(iterator.name()); + entity.setSystem(iterator.isSystem().equals("Y") ? true : false); + entity.setLowres(iterator.isLowres().equals("Y") ? true : false); + + if (result == null) + result = new ArrayList(); + result.add(entity); + } + iterator.close(); + return result; + } + + @Override + protected ResultSetIterImpl selectByKey(DefaultContext context, long id) throws SQLException{ + StoreIter iter = null; + /*@lineinfo:generated-code*//*@lineinfo:53^2*/ + +// ************************************************************ +// #sql [context] iter = { SELECT ID, NAME, ISSYSTEM, ISLOWRES FROM STORE WHERE ID = :id }; +// ************************************************************ + +{ + sqlj.runtime.ConnectionContext __sJT_connCtx = context; + if (__sJT_connCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_DEFAULT_CONN_CTX(); + sqlj.runtime.ExecutionContext __sJT_execCtx = __sJT_connCtx.getExecutionContext(); + if (__sJT_execCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_EXEC_CTX(); + synchronized (__sJT_execCtx) { + sqlj.runtime.profile.RTStatement __sJT_stmt = __sJT_execCtx.registerStatement(__sJT_connCtx, StoreDAO_SJProfileKeys.getKey(0), 0); + try + { + __sJT_stmt.setLong(1, id); + iter = new StoreIter(__sJT_execCtx.executeQuery(), __sJT_execCtx.getFetchSize(), __sJT_execCtx.getMaxRows()); + } + finally + { + __sJT_execCtx.releaseStatement(); + } + } +} + + +// ************************************************************ + +/*@lineinfo:user-code*//*@lineinfo:53^88*/ + return iter; + } + + @Override + protected ResultSetIterImpl selectAll(DefaultContext context) throws SQLException{ + StoreIter iter = null; + /*@lineinfo:generated-code*//*@lineinfo:60^2*/ + +// ************************************************************ +// #sql [context] iter = { SELECT ID, NAME, ISSYSTEM, ISLOWRES FROM STORE }; +// ************************************************************ + +{ + sqlj.runtime.ConnectionContext __sJT_connCtx = context; + if (__sJT_connCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_DEFAULT_CONN_CTX(); + sqlj.runtime.ExecutionContext __sJT_execCtx = __sJT_connCtx.getExecutionContext(); + if (__sJT_execCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_EXEC_CTX(); + synchronized (__sJT_execCtx) { + sqlj.runtime.profile.RTStatement __sJT_stmt = __sJT_execCtx.registerStatement(__sJT_connCtx, StoreDAO_SJProfileKeys.getKey(0), 1); + try + { + iter = new StoreIter(__sJT_execCtx.executeQuery(), __sJT_execCtx.getFetchSize(), __sJT_execCtx.getMaxRows()); + } + finally + { + __sJT_execCtx.releaseStatement(); + } + } +} + + +// ************************************************************ + +/*@lineinfo:user-code*//*@lineinfo:60^73*/ + return iter; + } + + protected ResultSetIterImpl selectByName(DefaultContext context, String name) throws SQLException{ + StoreIter iter = null; + /*@lineinfo:generated-code*//*@lineinfo:66^2*/ + +// ************************************************************ +// #sql [context] iter = { SELECT ID, NAME, ISSYSTEM, ISLOWRES FROM STORE WHERE NAME = :name }; +// ************************************************************ + +{ + sqlj.runtime.ConnectionContext __sJT_connCtx = context; + if (__sJT_connCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_DEFAULT_CONN_CTX(); + sqlj.runtime.ExecutionContext __sJT_execCtx = __sJT_connCtx.getExecutionContext(); + if (__sJT_execCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_EXEC_CTX(); + synchronized (__sJT_execCtx) { + sqlj.runtime.profile.RTStatement __sJT_stmt = __sJT_execCtx.registerStatement(__sJT_connCtx, StoreDAO_SJProfileKeys.getKey(0), 2); + try + { + __sJT_stmt.setString(1, name); + iter = new StoreIter(__sJT_execCtx.executeQuery(), __sJT_execCtx.getFetchSize(), __sJT_execCtx.getMaxRows()); + } + finally + { + __sJT_execCtx.releaseStatement(); + } + } +} + + +// ************************************************************ + +/*@lineinfo:user-code*//*@lineinfo:66^92*/ + return iter; + } + + protected ResultSetIterImpl selectBySystem(DefaultContext context, String lowres) throws SQLException{ + StoreIter iter = null; + /*@lineinfo:generated-code*//*@lineinfo:72^2*/ + +// ************************************************************ +// #sql [context] iter = { SELECT ID, NAME, ISSYSTEM, ISLOWRES FROM STORE WHERE ISSYSTEM = 'Y' AND ISLOWRES = :lowres }; +// ************************************************************ + +{ + sqlj.runtime.ConnectionContext __sJT_connCtx = context; + if (__sJT_connCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_DEFAULT_CONN_CTX(); + sqlj.runtime.ExecutionContext __sJT_execCtx = __sJT_connCtx.getExecutionContext(); + if (__sJT_execCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_EXEC_CTX(); + synchronized (__sJT_execCtx) { + sqlj.runtime.profile.RTStatement __sJT_stmt = __sJT_execCtx.registerStatement(__sJT_connCtx, StoreDAO_SJProfileKeys.getKey(0), 3); + try + { + __sJT_stmt.setString(1, lowres); + iter = new StoreIter(__sJT_execCtx.executeQuery(), __sJT_execCtx.getFetchSize(), __sJT_execCtx.getMaxRows()); + } + finally + { + __sJT_execCtx.releaseStatement(); + } + } +} + + +// ************************************************************ + +/*@lineinfo:user-code*//*@lineinfo:72^117*/ + return iter; + } + + @Override + protected void delete(DefaultContext context, long id) throws SQLException{ + /*@lineinfo:generated-code*//*@lineinfo:78^2*/ + +// ************************************************************ +// #sql [context] { DELETE FROM STORE WHERE ID = :id }; +// ************************************************************ + +{ + sqlj.runtime.ConnectionContext __sJT_connCtx = context; + if (__sJT_connCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_DEFAULT_CONN_CTX(); + sqlj.runtime.ExecutionContext __sJT_execCtx = __sJT_connCtx.getExecutionContext(); + if (__sJT_execCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_EXEC_CTX(); + synchronized (__sJT_execCtx) { + sqlj.runtime.profile.RTStatement __sJT_stmt = __sJT_execCtx.registerStatement(__sJT_connCtx, StoreDAO_SJProfileKeys.getKey(0), 4); + try + { + __sJT_stmt.setLong(1, id); + __sJT_execCtx.executeUpdate(); + } + finally + { + __sJT_execCtx.releaseStatement(); + } + } +} + + +// ************************************************************ + +/*@lineinfo:user-code*//*@lineinfo:78^52*/ + } + + @Override + protected void truncateTable(DefaultContext context) throws SQLException{ + /*@lineinfo:generated-code*//*@lineinfo:83^2*/ + +// ************************************************************ +// #sql [context] { TRUNCATE TABLE STORE DROP STORAGE IGNORE DELETE TRIGGERS IMMEDIATE }; +// ************************************************************ + +{ + sqlj.runtime.ConnectionContext __sJT_connCtx = context; + if (__sJT_connCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_DEFAULT_CONN_CTX(); + sqlj.runtime.ExecutionContext __sJT_execCtx = __sJT_connCtx.getExecutionContext(); + if (__sJT_execCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_EXEC_CTX(); + synchronized (__sJT_execCtx) { + sqlj.runtime.profile.RTStatement __sJT_stmt = __sJT_execCtx.registerStatement(__sJT_connCtx, StoreDAO_SJProfileKeys.getKey(0), 5); + try + { + __sJT_execCtx.executeUpdate(); + } + finally + { + __sJT_execCtx.releaseStatement(); + } + } +} + + +// ************************************************************ + +/*@lineinfo:user-code*//*@lineinfo:83^86*/ + } + + @Override + protected void update(DefaultContext context, IEntityBase entity) throws SQLException{ + Store obj = (Store) entity; + long id = obj.getId(); + String name = obj.getName(); + String isSystem = obj.isSystem() == true ? "Y" : "N"; + String isLowres = obj.isLowres() == true ? "Y" : "N"; + + /*@lineinfo:generated-code*//*@lineinfo:94^2*/ + +// ************************************************************ +// #sql [context] { UPDATE STORE SET NAME = :name, ISSYSTEM = :isSystem, ISLOWRES = :isLowres WHERE ID = :id }; +// ************************************************************ + +{ + sqlj.runtime.ConnectionContext __sJT_connCtx = context; + if (__sJT_connCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_DEFAULT_CONN_CTX(); + sqlj.runtime.ExecutionContext __sJT_execCtx = __sJT_connCtx.getExecutionContext(); + if (__sJT_execCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_EXEC_CTX(); + synchronized (__sJT_execCtx) { + sqlj.runtime.profile.RTStatement __sJT_stmt = __sJT_execCtx.registerStatement(__sJT_connCtx, StoreDAO_SJProfileKeys.getKey(0), 6); + try + { + __sJT_stmt.setString(1, name); + __sJT_stmt.setString(2, isSystem); + __sJT_stmt.setString(3, isLowres); + __sJT_stmt.setLong(4, id); + __sJT_execCtx.executeUpdate(); + } + finally + { + __sJT_execCtx.releaseStatement(); + } + } +} + + +// ************************************************************ + +/*@lineinfo:user-code*//*@lineinfo:94^108*/ + } + + @Override + protected void insert(DefaultContext context, IEntityBase entity) throws SQLException{ + Store obj = (Store) entity; + String name = obj.getName(); + String isSystem = obj.isSystem() == true ? "Y" : "N"; + String isLowres = obj.isLowres() == true ? "Y" : "N"; + + /*@lineinfo:generated-code*//*@lineinfo:104^2*/ + +// ************************************************************ +// #sql [context] { INSERT INTO STORE (NAME, ISSYSTEM, ISLOWRES) VALUES (:name, :isSystem, :isLowres) }; +// ************************************************************ + +{ + sqlj.runtime.ConnectionContext __sJT_connCtx = context; + if (__sJT_connCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_DEFAULT_CONN_CTX(); + sqlj.runtime.ExecutionContext __sJT_execCtx = __sJT_connCtx.getExecutionContext(); + if (__sJT_execCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_EXEC_CTX(); + synchronized (__sJT_execCtx) { + sqlj.runtime.profile.RTStatement __sJT_stmt = __sJT_execCtx.registerStatement(__sJT_connCtx, StoreDAO_SJProfileKeys.getKey(0), 7); + try + { + __sJT_stmt.setString(1, name); + __sJT_stmt.setString(2, isSystem); + __sJT_stmt.setString(3, isLowres); + __sJT_execCtx.executeUpdate(); + } + finally + { + __sJT_execCtx.releaseStatement(); + } + } +} + + +// ************************************************************ + +/*@lineinfo:user-code*//*@lineinfo:104^101*/ + } + + public IEntityBase getByName(String name) { + manager.traceIn(); + IEntityBase entity = null; + DefaultContext context = manager.getDbContext(); + try { + ResultSetIterImpl iter = selectByName(context, name); + checkNull(iter, ResultSetIterImpl.class); + entity = getEntity(context, iter); + } catch (Exception e) { + throw new ItemManagerException(e); + } finally { + manager.putDbContext(context); + } + manager.traceOut(); + return entity; + } + + + public IEntityBase getSystemStore(boolean lowres) { + manager.traceIn(); + IEntityBase entity = null; + DefaultContext context = manager.getDbContext(); + try { + ResultSetIterImpl iter = selectBySystem(context, lowres ? "Y" : "N"); + checkNull(iter, ResultSetIterImpl.class); + entity = getEntity(context, iter); + } catch (Exception e) { + throw new ItemManagerException(e); + } finally { + manager.putDbContext(context); + } + manager.traceOut(); + return entity; + } + +}/*@lineinfo:generated-code*/class StoreDAO_SJProfileKeys +{ + private java.lang.Object[] keys; + private final sqlj.runtime.profile.Loader loader = sqlj.runtime.RuntimeContext.getRuntime().getLoaderForClass(getClass()); + private static StoreDAO_SJProfileKeys inst = null; + public static java.lang.Object getKey(int keyNum) + throws java.sql.SQLException + { + synchronized(user.jobengine.db.StoreDAO_SJProfileKeys.class) { + if (inst == null) + { + inst = new StoreDAO_SJProfileKeys(); + } + } + return inst.keys[keyNum]; + } + private StoreDAO_SJProfileKeys() + throws java.sql.SQLException + { + keys = new java.lang.Object[1]; + keys[0] = DefaultContext.getProfileKey(loader, "user.jobengine.db.StoreDAO_SJProfile0"); + } +} diff --git a/server/user.jobengine.osgi.db/generated/user/jobengine/db/StoreUriDAO.java b/server/user.jobengine.osgi.db/generated/user/jobengine/db/StoreUriDAO.java new file mode 100644 index 00000000..ecd56f04 --- /dev/null +++ b/server/user.jobengine.osgi.db/generated/user/jobengine/db/StoreUriDAO.java @@ -0,0 +1,524 @@ +/*@lineinfo:filename=StoreUriDAO*//*@lineinfo:user-code*//*@lineinfo:1^1*/package user.jobengine.db; + +import user.commons.IEntityBase; +import sqlj.runtime.ref.*; +import user.commons.StoreUri; +import java.sql.SQLException; +import java.util.List; +import java.util.ArrayList; +import user.commons.remotestore.RemoteStoreProtocol; +import user.commons.remotestore.DeliveryMethod; + +/*@lineinfo:generated-code*//*@lineinfo:12^2*/ + +// ************************************************************ +// SQLJ iterator declaration: +// ************************************************************ + +class StoreUriIter +extends sqlj.runtime.ref.ResultSetIterImpl +implements sqlj.runtime.NamedIterator +{ + private int protocolNdx; + private int deliveryNdx; + private int portNumberNdx; + private int rootPathNdx; + private int passwordNdx; + private int userNameNdx; + private int isTargetNdx; + private int isSourceNdx; + private int isStreamNdx; + private int uriNdx; + private int storeIdNdx; + private int idNdx; + public StoreUriIter(sqlj.runtime.profile.RTResultSet resultSet) + throws java.sql.SQLException + { + super(resultSet); + idNdx = findColumn("id"); + storeIdNdx = findColumn("storeId"); + uriNdx = findColumn("uri"); + isStreamNdx = findColumn("isStream"); + isSourceNdx = findColumn("isSource"); + isTargetNdx = findColumn("isTarget"); + userNameNdx = findColumn("userName"); + passwordNdx = findColumn("password"); + rootPathNdx = findColumn("rootPath"); + portNumberNdx = findColumn("portNumber"); + deliveryNdx = findColumn("delivery"); + protocolNdx = findColumn("protocol"); + } + public StoreUriIter(sqlj.runtime.profile.RTResultSet resultSet, int fetchSize, int maxRows) + throws java.sql.SQLException + { + super(resultSet, fetchSize, maxRows); + idNdx = findColumn("id"); + storeIdNdx = findColumn("storeId"); + uriNdx = findColumn("uri"); + isStreamNdx = findColumn("isStream"); + isSourceNdx = findColumn("isSource"); + isTargetNdx = findColumn("isTarget"); + userNameNdx = findColumn("userName"); + passwordNdx = findColumn("password"); + rootPathNdx = findColumn("rootPath"); + portNumberNdx = findColumn("portNumber"); + deliveryNdx = findColumn("delivery"); + protocolNdx = findColumn("protocol"); + } + public long id() + throws java.sql.SQLException + { + return resultSet.getLongNoNull(idNdx); + } + public long storeId() + throws java.sql.SQLException + { + return resultSet.getLongNoNull(storeIdNdx); + } + public String uri() + throws java.sql.SQLException + { + return resultSet.getString(uriNdx); + } + public String isStream() + throws java.sql.SQLException + { + return resultSet.getString(isStreamNdx); + } + public String isSource() + throws java.sql.SQLException + { + return resultSet.getString(isSourceNdx); + } + public String isTarget() + throws java.sql.SQLException + { + return resultSet.getString(isTargetNdx); + } + public String userName() + throws java.sql.SQLException + { + return resultSet.getString(userNameNdx); + } + public String password() + throws java.sql.SQLException + { + return resultSet.getString(passwordNdx); + } + public String rootPath() + throws java.sql.SQLException + { + return resultSet.getString(rootPathNdx); + } + public Integer portNumber() + throws java.sql.SQLException + { + return resultSet.getIntWrapper(portNumberNdx); + } + public String delivery() + throws java.sql.SQLException + { + return resultSet.getString(deliveryNdx); + } + public String protocol() + throws java.sql.SQLException + { + return resultSet.getString(protocolNdx); + } +} + + +// ************************************************************ + +/*@lineinfo:user-code*//*@lineinfo:12^216*/ + +@SuppressWarnings("unused") + +class StoreUriDAO extends EntityBaseDAO { + + public StoreUriDAO(ItemManager manager) { + super(manager); + } + + @Override + protected List entities(DefaultContext context, ResultSetIterImpl iter, boolean isChunked) throws SQLException { + List result = null; + StoreUriIter iterator = (StoreUriIter) iter; + while (iterator.next()) { + StoreUri entity = new StoreUri(); + entity.setId(iterator.id()); + entity.setStoreId(iterator.storeId()); + entity.setUri(iterator.uri()); + entity.setStream(iterator.isStream().equals("Y") ? true : false); + entity.setSource(iterator.isSource().equals("Y") ? true : false); + entity.setTarget(iterator.isTarget().equals("Y") ? true : false); + entity.setUserName(iterator.userName()); + entity.setPassword(iterator.password()); + entity.setRootPath(iterator.rootPath()); + entity.setPortNumber(iterator.portNumber()); + entity.setDelivery(ItemManagerData.toDeliveryMethod(iterator.delivery())); + entity.setProtocol(ItemManagerData.toRemoteStoreProtocol(iterator.protocol())); + + if (result == null) + result = new ArrayList(); + result.add(entity); + } + iterator.close(); + return result; + } + + @Override + protected ResultSetIterImpl selectByKey(DefaultContext context, long id) throws SQLException{ + StoreUriIter iter = null; + /*@lineinfo:generated-code*//*@lineinfo:52^2*/ + +// ************************************************************ +// #sql [context] iter = { SELECT ID, STOREID, URI, ISSTREAM, ISSOURCE, ISTARGET, USERNAME, PASSWORD, ROOTPATH, PORTNUMBER, DELIVERY, PROTOCOL FROM STOREURI WHERE ID = :id }; +// ************************************************************ + +{ + sqlj.runtime.ConnectionContext __sJT_connCtx = context; + if (__sJT_connCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_DEFAULT_CONN_CTX(); + sqlj.runtime.ExecutionContext __sJT_execCtx = __sJT_connCtx.getExecutionContext(); + if (__sJT_execCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_EXEC_CTX(); + synchronized (__sJT_execCtx) { + sqlj.runtime.profile.RTStatement __sJT_stmt = __sJT_execCtx.registerStatement(__sJT_connCtx, StoreUriDAO_SJProfileKeys.getKey(0), 0); + try + { + __sJT_stmt.setLong(1, id); + iter = new StoreUriIter(__sJT_execCtx.executeQuery(), __sJT_execCtx.getFetchSize(), __sJT_execCtx.getMaxRows()); + } + finally + { + __sJT_execCtx.releaseStatement(); + } + } +} + + +// ************************************************************ + +/*@lineinfo:user-code*//*@lineinfo:52^171*/ + return iter; + } + + @Override + protected ResultSetIterImpl selectByForeignKey(DefaultContext context, long id) throws SQLException{ + StoreUriIter iter = null; + /*@lineinfo:generated-code*//*@lineinfo:59^2*/ + +// ************************************************************ +// #sql [context] iter = { SELECT ID, STOREID, URI, ISSTREAM, ISSOURCE, ISTARGET, USERNAME, PASSWORD, ROOTPATH, PORTNUMBER, DELIVERY, PROTOCOL FROM STOREURI WHERE STOREID = :id }; +// ************************************************************ + +{ + sqlj.runtime.ConnectionContext __sJT_connCtx = context; + if (__sJT_connCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_DEFAULT_CONN_CTX(); + sqlj.runtime.ExecutionContext __sJT_execCtx = __sJT_connCtx.getExecutionContext(); + if (__sJT_execCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_EXEC_CTX(); + synchronized (__sJT_execCtx) { + sqlj.runtime.profile.RTStatement __sJT_stmt = __sJT_execCtx.registerStatement(__sJT_connCtx, StoreUriDAO_SJProfileKeys.getKey(0), 1); + try + { + __sJT_stmt.setLong(1, id); + iter = new StoreUriIter(__sJT_execCtx.executeQuery(), __sJT_execCtx.getFetchSize(), __sJT_execCtx.getMaxRows()); + } + finally + { + __sJT_execCtx.releaseStatement(); + } + } +} + + +// ************************************************************ + +/*@lineinfo:user-code*//*@lineinfo:59^176*/ + return iter; + } + + @Override + protected ResultSetIterImpl selectAll(DefaultContext context) throws SQLException{ + StoreUriIter iter = null; + /*@lineinfo:generated-code*//*@lineinfo:66^2*/ + +// ************************************************************ +// #sql [context] iter = { SELECT ID, STOREID, URI, ISSTREAM, ISSOURCE, ISTARGET, USERNAME, PASSWORD, ROOTPATH, PORTNUMBER, DELIVERY, PROTOCOL FROM STOREURI }; +// ************************************************************ + +{ + sqlj.runtime.ConnectionContext __sJT_connCtx = context; + if (__sJT_connCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_DEFAULT_CONN_CTX(); + sqlj.runtime.ExecutionContext __sJT_execCtx = __sJT_connCtx.getExecutionContext(); + if (__sJT_execCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_EXEC_CTX(); + synchronized (__sJT_execCtx) { + sqlj.runtime.profile.RTStatement __sJT_stmt = __sJT_execCtx.registerStatement(__sJT_connCtx, StoreUriDAO_SJProfileKeys.getKey(0), 2); + try + { + iter = new StoreUriIter(__sJT_execCtx.executeQuery(), __sJT_execCtx.getFetchSize(), __sJT_execCtx.getMaxRows()); + } + finally + { + __sJT_execCtx.releaseStatement(); + } + } +} + + +// ************************************************************ + +/*@lineinfo:user-code*//*@lineinfo:66^156*/ + return iter; + } + + @Override + protected void delete(DefaultContext context, long id) throws SQLException{ + /*@lineinfo:generated-code*//*@lineinfo:72^2*/ + +// ************************************************************ +// #sql [context] { DELETE FROM STOREURI WHERE ID = :id }; +// ************************************************************ + +{ + sqlj.runtime.ConnectionContext __sJT_connCtx = context; + if (__sJT_connCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_DEFAULT_CONN_CTX(); + sqlj.runtime.ExecutionContext __sJT_execCtx = __sJT_connCtx.getExecutionContext(); + if (__sJT_execCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_EXEC_CTX(); + synchronized (__sJT_execCtx) { + sqlj.runtime.profile.RTStatement __sJT_stmt = __sJT_execCtx.registerStatement(__sJT_connCtx, StoreUriDAO_SJProfileKeys.getKey(0), 3); + try + { + __sJT_stmt.setLong(1, id); + __sJT_execCtx.executeUpdate(); + } + finally + { + __sJT_execCtx.releaseStatement(); + } + } +} + + +// ************************************************************ + +/*@lineinfo:user-code*//*@lineinfo:72^55*/ + } + + @Override + protected void truncateTable(DefaultContext context) throws SQLException{ + /*@lineinfo:generated-code*//*@lineinfo:77^2*/ + +// ************************************************************ +// #sql [context] { TRUNCATE TABLE STOREURI DROP STORAGE IGNORE DELETE TRIGGERS IMMEDIATE }; +// ************************************************************ + +{ + sqlj.runtime.ConnectionContext __sJT_connCtx = context; + if (__sJT_connCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_DEFAULT_CONN_CTX(); + sqlj.runtime.ExecutionContext __sJT_execCtx = __sJT_connCtx.getExecutionContext(); + if (__sJT_execCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_EXEC_CTX(); + synchronized (__sJT_execCtx) { + sqlj.runtime.profile.RTStatement __sJT_stmt = __sJT_execCtx.registerStatement(__sJT_connCtx, StoreUriDAO_SJProfileKeys.getKey(0), 4); + try + { + __sJT_execCtx.executeUpdate(); + } + finally + { + __sJT_execCtx.releaseStatement(); + } + } +} + + +// ************************************************************ + +/*@lineinfo:user-code*//*@lineinfo:77^89*/ + } + + @Override + protected void update(DefaultContext context, IEntityBase entity) throws SQLException{ + StoreUri obj = (StoreUri) entity; + long id = obj.getId(); + long storeId = obj.getStoreId(); + String uri = obj.getUri(); + String isStream = obj.isStream() == true ? "Y" : "N"; + String isSource = obj.isSource() == true ? "Y" : "N"; + String isTarget = obj.isTarget() == true ? "Y" : "N"; + String userName = obj.getUserName(); + String password = obj.getPassword(); + String rootPath = obj.getRootPath(); + Integer portNumber = obj.getPortNumber(); + String delivery = obj.getDelivery() == null ? null : obj.getDelivery().toString(); + String protocol = obj.getProtocol() == null ? null : obj.getProtocol().toString(); + + /*@lineinfo:generated-code*//*@lineinfo:96^2*/ + +// ************************************************************ +// #sql [context] { UPDATE STOREURI SET STOREID = :storeId, URI = :uri, ISSTREAM = :isStream, ISSOURCE = :isSource, ISTARGET = :isTarget, USERNAME = :userName, PASSWORD = :password, ROOTPATH = :rootPath, PORTNUMBER = :portNumber, DELIVERY = :delivery, PROTOCOL = :protocol WHERE ID = :id }; +// ************************************************************ + +{ + sqlj.runtime.ConnectionContext __sJT_connCtx = context; + if (__sJT_connCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_DEFAULT_CONN_CTX(); + sqlj.runtime.ExecutionContext __sJT_execCtx = __sJT_connCtx.getExecutionContext(); + if (__sJT_execCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_EXEC_CTX(); + synchronized (__sJT_execCtx) { + sqlj.runtime.profile.RTStatement __sJT_stmt = __sJT_execCtx.registerStatement(__sJT_connCtx, StoreUriDAO_SJProfileKeys.getKey(0), 5); + try + { + __sJT_stmt.setLong(1, storeId); + __sJT_stmt.setString(2, uri); + __sJT_stmt.setString(3, isStream); + __sJT_stmt.setString(4, isSource); + __sJT_stmt.setString(5, isTarget); + __sJT_stmt.setString(6, userName); + __sJT_stmt.setString(7, password); + __sJT_stmt.setString(8, rootPath); + __sJT_stmt.setIntWrapper(9, portNumber); + __sJT_stmt.setString(10, delivery); + __sJT_stmt.setString(11, protocol); + __sJT_stmt.setLong(12, id); + __sJT_execCtx.executeUpdate(); + } + finally + { + __sJT_execCtx.releaseStatement(); + } + } +} + + +// ************************************************************ + +/*@lineinfo:user-code*//*@lineinfo:96^287*/ + } + + @Override + protected void insert(DefaultContext context, IEntityBase entity) throws SQLException{ + StoreUri obj = (StoreUri) entity; + long storeId = obj.getStoreId(); + String uri = obj.getUri(); + String isStream = obj.isStream() == true ? "Y" : "N"; + String isSource = obj.isSource() == true ? "Y" : "N"; + String isTarget = obj.isTarget() == true ? "Y" : "N"; + String userName = obj.getUserName(); + String password = obj.getPassword(); + String rootPath = obj.getRootPath(); + Integer portNumber = obj.getPortNumber(); + String delivery = obj.getDelivery() == null ? null : obj.getDelivery().toString(); + String protocol = obj.getProtocol() == null ? null : obj.getProtocol().toString(); + + /*@lineinfo:generated-code*//*@lineinfo:114^2*/ + +// ************************************************************ +// #sql [context] { INSERT INTO STOREURI (STOREID, URI, ISSTREAM, ISSOURCE, ISTARGET, USERNAME, PASSWORD, ROOTPATH, PORTNUMBER, DELIVERY, PROTOCOL) VALUES (:storeId, :uri, :isStream, :isSource, :isTarget, :userName, :password, :rootPath, :portNumber, :delivery, :protocol) }; +// ************************************************************ + +{ + sqlj.runtime.ConnectionContext __sJT_connCtx = context; + if (__sJT_connCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_DEFAULT_CONN_CTX(); + sqlj.runtime.ExecutionContext __sJT_execCtx = __sJT_connCtx.getExecutionContext(); + if (__sJT_execCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_EXEC_CTX(); + synchronized (__sJT_execCtx) { + sqlj.runtime.profile.RTStatement __sJT_stmt = __sJT_execCtx.registerStatement(__sJT_connCtx, StoreUriDAO_SJProfileKeys.getKey(0), 6); + try + { + __sJT_stmt.setLong(1, storeId); + __sJT_stmt.setString(2, uri); + __sJT_stmt.setString(3, isStream); + __sJT_stmt.setString(4, isSource); + __sJT_stmt.setString(5, isTarget); + __sJT_stmt.setString(6, userName); + __sJT_stmt.setString(7, password); + __sJT_stmt.setString(8, rootPath); + __sJT_stmt.setIntWrapper(9, portNumber); + __sJT_stmt.setString(10, delivery); + __sJT_stmt.setString(11, protocol); + __sJT_execCtx.executeUpdate(); + } + finally + { + __sJT_execCtx.releaseStatement(); + } + } +} + + +// ************************************************************ + +/*@lineinfo:user-code*//*@lineinfo:114^272*/ + } + + void addAll(DefaultContext context, IEntityBase entity) throws SQLException { + manager.traceIn(); + Store store = (Store) entity; + if (store != null && store.getStoreUris() != null) { + for (StoreUri su: store.getStoreUris()) { + su.setStoreId(store.getId()); + add(context, su); + } + } + manager.traceOut(); + } + + /** + * T\ufffdrli a param\ufffdterk\ufffdnt kapott Store azonos\ufffdt\ufffdhoz tartoz\ufffd StoreUri bejegyz\ufffdseket. + */ + void removeAll(DefaultContext context, long filterId) throws SQLException { + manager.traceIn(); + /*@lineinfo:generated-code*//*@lineinfo:134^2*/ + +// ************************************************************ +// #sql [context] { DELETE FROM STOREURI WHERE STOREID = :filterId }; +// ************************************************************ + +{ + sqlj.runtime.ConnectionContext __sJT_connCtx = context; + if (__sJT_connCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_DEFAULT_CONN_CTX(); + sqlj.runtime.ExecutionContext __sJT_execCtx = __sJT_connCtx.getExecutionContext(); + if (__sJT_execCtx == null) sqlj.runtime.error.RuntimeRefErrors.raise_NULL_EXEC_CTX(); + synchronized (__sJT_execCtx) { + sqlj.runtime.profile.RTStatement __sJT_stmt = __sJT_execCtx.registerStatement(__sJT_connCtx, StoreUriDAO_SJProfileKeys.getKey(0), 7); + try + { + __sJT_stmt.setLong(1, filterId); + __sJT_execCtx.executeUpdate(); + } + finally + { + __sJT_execCtx.releaseStatement(); + } + } +} + + +// ************************************************************ + +/*@lineinfo:user-code*//*@lineinfo:134^66*/ + manager.traceOut(); + } + +}/*@lineinfo:generated-code*/class StoreUriDAO_SJProfileKeys +{ + private java.lang.Object[] keys; + private final sqlj.runtime.profile.Loader loader = sqlj.runtime.RuntimeContext.getRuntime().getLoaderForClass(getClass()); + private static StoreUriDAO_SJProfileKeys inst = null; + public static java.lang.Object getKey(int keyNum) + throws java.sql.SQLException + { + synchronized(user.jobengine.db.StoreUriDAO_SJProfileKeys.class) { + if (inst == null) + { + inst = new StoreUriDAO_SJProfileKeys(); + } + } + return inst.keys[keyNum]; + } + private StoreUriDAO_SJProfileKeys() + throws java.sql.SQLException + { + keys = new java.lang.Object[1]; + keys[0] = DefaultContext.getProfileKey(loader, "user.jobengine.db.StoreUriDAO_SJProfile0"); + } +} diff --git a/server/user.jobengine.osgi.db/migrations/scripts/008_missing_proxy_video_only.sql b/server/user.jobengine.osgi.db/migrations/scripts/034_modify_view_missing_proxy.sql similarity index 72% rename from server/user.jobengine.osgi.db/migrations/scripts/008_missing_proxy_video_only.sql rename to server/user.jobengine.osgi.db/migrations/scripts/034_modify_view_missing_proxy.sql index 4fbb1c81..3eb3e7f3 100644 --- a/server/user.jobengine.osgi.db/migrations/scripts/008_missing_proxy_video_only.sql +++ b/server/user.jobengine.osgi.db/migrations/scripts/034_modify_view_missing_proxy.sql @@ -17,11 +17,8 @@ -- // Alter missing proxy view, select video only -- Migration SQL that makes the change goes here. -DROP VIEW VW_MISSING_PROXY_IDS -@ - -CREATE VIEW VW_MISSING_PROXY_IDS AS -select m.id as mediaid +CREATE OR REPLACE VIEW VW_MISSING_PROXY_IDS AS +select m.id as mediaid, m.archived, m.modified, mf.houseid from vw_mediafiles v, mediafile mf, filetype ft, media m where m.id = mf.mediaid and @@ -34,16 +31,4 @@ where -- //@UNDO -- SQL to undo the change goes here. -DROP VIEW VW_MISSING_PROXY_IDS -@ - -CREATE VIEW VW_MISSING_PROXY_IDS AS - select m.id as mediaid - from vw_mediafiles v, mediafile mf, filetype ft, media m - where - m.id = mf.mediaid and - mf.mediaid = v.mediaid and - v.mediafilecount = 1 and - mf.filetypeid = ft.id and - ft.name = 'High-res' -@ +--No undo diff --git a/server/user.jobengine.osgi.db/migrations/scripts/035_add_local_store.sql b/server/user.jobengine.osgi.db/migrations/scripts/035_add_local_store.sql new file mode 100644 index 00000000..6349dd6d --- /dev/null +++ b/server/user.jobengine.osgi.db/migrations/scripts/035_add_local_store.sql @@ -0,0 +1,17 @@ +-- // Creates PASAPOOL as mounted store +-- Migration SQL that makes the change goes here. + +INSERT INTO STORE(NAME,ISSYSTEM,ISLOWRES) VALUES +('LOCAL','N','N') +@ + +INSERT INTO STOREURI(STOREID,PROTOCOL,DELIVERY,URI,ISSTREAM,ISSOURCE,ISTARGET,USERNAME,PASSWORD,ROOTPATH,PORTNUMBER) VALUES +((SELECT ID FROM STORE WHERE NAME='LOCAL'),'LOCAL',null,'/mediacube/data','N','Y','Y',null,null,null,null) +@ + +-- //@UNDO +-- SQL to undo the change goes here. +DELETE FROM STOREURI WHERE STOREID=(SELECT ID FROM STORE WHERE NAME='LOCAL') +@ +DELETE FROM STORE WHERE NAME='LOCAL' +@ diff --git a/server/user.jobengine.osgi.server/src/user/jobengine/server/IJobEngineConfiguration.java b/server/user.jobengine.osgi.server/src/user/jobengine/server/IJobEngineConfiguration.java index 79b5613b..58138c02 100644 --- a/server/user.jobengine.osgi.server/src/user/jobengine/server/IJobEngineConfiguration.java +++ b/server/user.jobengine.osgi.server/src/user/jobengine/server/IJobEngineConfiguration.java @@ -31,4 +31,6 @@ public interface IJobEngineConfiguration { void loadSchedules() throws Exception; + String loadTemplateXml(String template); + } diff --git a/server/user.jobengine.osgi.server/src/user/jobengine/server/JobEngine.java b/server/user.jobengine.osgi.server/src/user/jobengine/server/JobEngine.java index 9b79734c..07c9aa9c 100644 --- a/server/user.jobengine.osgi.server/src/user/jobengine/server/JobEngine.java +++ b/server/user.jobengine.osgi.server/src/user/jobengine/server/JobEngine.java @@ -238,7 +238,7 @@ public class JobEngine implements IJobEngine { @Override public void addJobChangedEventListener(IJobChangedListener listener) { - if (listener != null) { + if (listener != null && !keepAliveJobChangedListeners.containsKey(listener)) { jobChangedListenerList.add(listener); } } @@ -248,7 +248,7 @@ public class JobEngine implements IJobEngine { if (listener != null) { jobChangedListenerList.add(listener); keepAliveJobChangedListeners.put(listener, System.currentTimeMillis()); - logger.info("Managed listener added"); + logger.info("Managed listener added {}", listener); } } @@ -590,8 +590,13 @@ public class JobEngine implements IJobEngine { @Override public void keepAliveJobChangedListener(IJobChangedListener listener) { - if (keepAliveJobChangedListeners != null) - keepAliveJobChangedListeners.put(listener, System.currentTimeMillis()); + if (keepAliveJobChangedListeners != null) { + long now = System.currentTimeMillis(); + //ha mar hozza van adva, nem adja hozza + addJobChangedEventListener(listener); + keepAliveJobChangedListeners.put(listener, now); + //logger.info("Refreshing listener {}, now {} ({})", listener, now, keepAliveJobChangedListeners.size()); + } } @Deprecated @@ -761,14 +766,17 @@ public class JobEngine implements IJobEngine { synchronized protected void removeJobChangedListenerGarbage() { List toBeRemoved = new ArrayList<>(); - for (IJobChangedListener listener : keepAliveJobChangedListeners.keySet()) { long lastMod = keepAliveJobChangedListeners.get(listener); - if (System.currentTimeMillis() - lastMod > 5 * 1000) + long now = System.currentTimeMillis(); + if ((now - lastMod) > 5 * 1000) { + toBeRemoved.add(listener); + logger.info("{} refreshed {}, now {}", listener, lastMod, now); + } } toBeRemoved.forEach(r -> { - logger.info("Removing listener"); + logger.info("Removing listener {}", r); removeJobChangedEventListener(r); keepAliveJobChangedListeners.remove(r); }); diff --git a/server/user.jobengine.osgi.server/src/user/jobengine/server/JobEngineConfiguration.java b/server/user.jobengine.osgi.server/src/user/jobengine/server/JobEngineConfiguration.java index f3649b34..331a8d53 100644 --- a/server/user.jobengine.osgi.server/src/user/jobengine/server/JobEngineConfiguration.java +++ b/server/user.jobengine.osgi.server/src/user/jobengine/server/JobEngineConfiguration.java @@ -64,10 +64,17 @@ public class JobEngineConfiguration implements IJobEngineConfiguration { boolean isGroovyClass = stepUnitName.toLowerCase().endsWith(".java") || stepUnitName.toLowerCase().endsWith(".groovy"); - String stepClassesDir = systemConfig.getConfig(DIR_CLASSES); - Path path = Paths.get(stepClassesDir); - URL[] urls = { path.toUri().toURL() }; - URLClassLoader stepsClassLoader = URLClassLoader.newInstance(urls, Thread.currentThread().getContextClassLoader()); + URLClassLoader stepsClassLoader = null; + try { + String stepClassesDir = systemConfig.getConfig(DIR_CLASSES); + Path path = Paths.get(stepClassesDir); + URL[] urls = { path.toUri().toURL() }; + stepsClassLoader = URLClassLoader.newInstance(urls, Thread.currentThread().getContextClassLoader()); + } catch (FileNotFoundException e) { + //nincs jobs/classes mappa + URL[] urls = {}; + stepsClassLoader = URLClassLoader.newInstance(urls, Thread.currentThread().getContextClassLoader()); + } Class stepClass = null; @@ -83,6 +90,9 @@ public class JobEngineConfiguration implements IJobEngineConfiguration { } else stepClass = (Class) stepsClassLoader.loadClass(stepUnitName); + if (stepClass == null) { + throw new Exception("Missing " + stepUnitName); + } result = stepClass.newInstance(); return result; @@ -237,6 +247,9 @@ public class JobEngineConfiguration implements IJobEngineConfiguration { private void loadTemplate(Path config) { InputStream stream = null; try { + // byte[] xmlBytes = Files.readAllBytes(config); + // String xml = new String(xmlBytes); + // stream = new ByteArrayInputStream(xmlBytes); stream = Files.newInputStream(config); String fileName = config.getFileName().toString(); Parser parser = new Parser(stream); @@ -279,6 +292,19 @@ public class JobEngineConfiguration implements IJobEngineConfiguration { } } + @Override + public String loadTemplateXml(String template) { + String result = null; + try { + Path templatesPath = Paths.get(systemConfig.getConfig(DIR_TEMPLATES)); + byte[] xmlBytes = Files.readAllBytes(Paths.get(templatesPath.toString(), template)); + result = new String(xmlBytes); + } catch (Exception e) { + logger.error(e.getClass().getSimpleName() + ": " + e.getMessage()); + } + return result; + } + private Class parseClassHierarchy(GroovyClassLoader cl, String root, String className) throws IOException { Path path = Paths.get(root, className); diff --git a/server/user.jobengine.osgi.server/src/user/jobengine/server/JobStepExecutor.java b/server/user.jobengine.osgi.server/src/user/jobengine/server/JobStepExecutor.java index f1b4f7fe..54bd8515 100644 --- a/server/user.jobengine.osgi.server/src/user/jobengine/server/JobStepExecutor.java +++ b/server/user.jobengine.osgi.server/src/user/jobengine/server/JobStepExecutor.java @@ -94,6 +94,7 @@ public class JobStepExecutor implements IJobStepExecutor { logger.info("Executing locally {}", jobRuntime.getId()); //jobRuntime.setDescription(PROCESSING_LOCALLY); Object[] inputs = jobEngine.getInputsFromStack(jobRuntime); + IJobStep stepObject = runStep(jobRuntime, inputs); if (stepObject.isTest()) { logger.trace("Finishing test worker"); diff --git a/server/user.jobengine.osgi.server/src/user/jobengine/server/ast/InputParameter.java b/server/user.jobengine.osgi.server/src/user/jobengine/server/ast/InputParameter.java index c413f319..45882c15 100644 --- a/server/user.jobengine.osgi.server/src/user/jobengine/server/ast/InputParameter.java +++ b/server/user.jobengine.osgi.server/src/user/jobengine/server/ast/InputParameter.java @@ -41,6 +41,11 @@ public class InputParameter extends Parameter { this.expression = expression; } + @Override + public String toString() { + return expression.getName(); + } + @Override public Object visit(Visitor v, Object o) { v.visitInputParameter(this, o); diff --git a/server/user.jobengine.osgi.server/src/user/jobengine/server/ast/JobTemplate.java b/server/user.jobengine.osgi.server/src/user/jobengine/server/ast/JobTemplate.java index 3ceb5b4d..831f918e 100644 --- a/server/user.jobengine.osgi.server/src/user/jobengine/server/ast/JobTemplate.java +++ b/server/user.jobengine.osgi.server/src/user/jobengine/server/ast/JobTemplate.java @@ -113,6 +113,10 @@ public class JobTemplate extends AST { ParameterSequence inputParameterSequence = ((CallJobStepCommand) command).getInputParameterSequence(); if (inputParameterSequence != null) { for (Parameter parameter : inputParameterSequence.getParameters()) { + if (!(parameter instanceof InputParameter)) + throw new Exception(((CallJobStepCommand) command).getType() + ": class cast problem with input parameter name " + + parameter.toString()); + Expression expression = ((InputParameter) parameter).getExpression(); if (expression instanceof VariableExpression) { if (!inputvariables.contains(expression.getName())) @@ -127,6 +131,9 @@ public class JobTemplate extends AST { ParameterSequence outputParameterSequence = ((CallJobStepCommand) command).getOutputParameterSequence(); if (outputParameterSequence != null) { for (Parameter parameter : outputParameterSequence.getParameters()) { + if (!(parameter instanceof OutputParameter)) + throw new Exception(((CallJobStepCommand) command).getType() + ": class cast problem with output parameter name " + + parameter.toString()); VariableName name = ((OutputParameter) parameter).getVariableName(); if (!inputvariables.contains(name.getName())) inputvariables.add(name.getName()); diff --git a/server/user.jobengine.osgi.server/src/user/jobengine/server/ast/OutputParameter.java b/server/user.jobengine.osgi.server/src/user/jobengine/server/ast/OutputParameter.java index 8960f46c..9ed68247 100644 --- a/server/user.jobengine.osgi.server/src/user/jobengine/server/ast/OutputParameter.java +++ b/server/user.jobengine.osgi.server/src/user/jobengine/server/ast/OutputParameter.java @@ -1,7 +1,7 @@ package user.jobengine.server.ast; /** - * Kimeneti paraméter osztály. + * Kimeneti param�ter oszt�ly. */ public class OutputParameter extends Parameter { @@ -11,34 +11,39 @@ public class OutputParameter extends Parameter { } /** - * Példányosítás változónév megadásával. - * + * P�ld�nyos�t�s v�ltoz�n�v megad�s�val. + * * @param vn - * Változónév. + * V�ltoz�n�v. */ public OutputParameter(VariableName vn) { this.setVariableName(vn); } /** - * Változónév lekérdezése. - * - * @return Változónév. + * V�ltoz�n�v lek�rdez�se. + * + * @return V�ltoz�n�v. */ public VariableName getVariableName() { return variableName; } /** - * Változónév beállítása. - * + * V�ltoz�n�v be�ll�t�sa. + * * @param variableName - * Változónév. + * V�ltoz�n�v. */ public void setVariableName(VariableName variableName) { this.variableName = variableName; } + @Override + public String toString() { + return variableName.getName(); + } + @Override public Object visit(Visitor v, Object o) { v.visitOutputParameter(this, o); diff --git a/server/user.jobengine.osgi.server/src/user/jobengine/server/ast/Parameter.java b/server/user.jobengine.osgi.server/src/user/jobengine/server/ast/Parameter.java index 9b2fb005..6a5c428e 100644 --- a/server/user.jobengine.osgi.server/src/user/jobengine/server/ast/Parameter.java +++ b/server/user.jobengine.osgi.server/src/user/jobengine/server/ast/Parameter.java @@ -1,7 +1,7 @@ package user.jobengine.server.ast; /** - * Paraméter abstract osztály. + * Param�ter abstract oszt�ly. */ public abstract class Parameter extends AST { } diff --git a/server/user.jobengine.osgi.server/src/user/jobengine/server/steps/JobStep.java b/server/user.jobengine.osgi.server/src/user/jobengine/server/steps/JobStep.java index 7a61998b..41928c9d 100644 --- a/server/user.jobengine.osgi.server/src/user/jobengine/server/steps/JobStep.java +++ b/server/user.jobengine.osgi.server/src/user/jobengine/server/steps/JobStep.java @@ -2,6 +2,8 @@ package user.jobengine.server.steps; import java.lang.annotation.Annotation; import java.lang.reflect.Method; +import java.lang.reflect.Type; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -79,6 +81,23 @@ public class JobStep implements IJobStep { logger.error("Invokation error in {}. Invoke parameters:\r\n{}", getClass().getSimpleName(), Arrays.toString(extendedInputs)); if (method.getParameterCount() != extendedInputs.length) { logger.error("Expected parameter count: {}, invoke parameter count: {}", method.getGenericParameterTypes().length, extendedInputs.length); + } else { + List currentTypes = new ArrayList<>(); + for (Object input : extendedInputs) { + if (input == null) + currentTypes.add("null"); + else + currentTypes.add(input.getClass().getCanonicalName()); + } + int i = 0; + for (Type input : method.getGenericParameterTypes()) { + if (!input.getTypeName().equals(currentTypes.get(i))) { + logger.error("Expected parameter {}. is {} got {}", i, input.getTypeName(), currentTypes.get(i)); + break; + } + i++; + } + } } diff --git a/server/user.jobengine.osgi.services/src/user/jobengine/osgi/mediacube/MediaCubeService.java b/server/user.jobengine.osgi.services/src/user/jobengine/osgi/mediacube/MediaCubeService.java index c66357f8..8d11887d 100644 --- a/server/user.jobengine.osgi.services/src/user/jobengine/osgi/mediacube/MediaCubeService.java +++ b/server/user.jobengine.osgi.services/src/user/jobengine/osgi/mediacube/MediaCubeService.java @@ -21,6 +21,7 @@ import org.eclipse.core.runtime.adaptor.EclipseStarter; import com.ibm.nosql.json.api.BasicDBObject; import com.ibm.nosql.json.util.JSON; +import user.commons.Job; import user.commons.MediaCubeMarker; import user.jobengine.db.IItemManager; import user.jobengine.db.IResultSetConsumer; @@ -39,7 +40,7 @@ public class MediaCubeService { private static final Logger logger = LogManager.getLogger(); public MediaCubeService() { - logger.info("Created"); + //logger.info("Created"); } @GET @@ -241,19 +242,31 @@ public class MediaCubeService { public Response jobStatus(@QueryParam("jobId") long jobId) { Response result = null; try { - IItemManager itemManager = ComponentBinder.getItemManager(); - if (itemManager == null) - throw new Exception("No ItemManager found"); - if (jobId == 0) - throw new Exception("The 'jobId' parameter is not provided!"); - String status[] = { null }; - String sql = String.format("select status from JOB where id=%d", jobId); - IResultSetConsumer consumer = rs -> { - status[0] = rs.getString("status"); - return false; - }; - itemManager.executeQuery(sql, consumer, null); - result = Response.ok(status[0]).build(); + IJobEngine jobEngine = ComponentBinder.getJobengine(); + Job job = jobEngine.getJob(jobId); + BasicDBObject status = new BasicDBObject(); + if (job != null) { + status.put("status", job.getStatus().toString()); + status.put("progress", job.getProgress()); + status.put("description", job.getDescription()); + } else { + + IItemManager itemManager = ComponentBinder.getItemManager(); + if (itemManager == null) + throw new Exception("No ItemManager found"); + if (jobId == 0) + throw new Exception("The 'jobId' parameter is not provided!"); + String sql = String.format("select status, progress, description from JOB where id=%d", jobId); + IResultSetConsumer consumer = rs -> { + status.put("status", rs.getString("status")); + status.put("progress", rs.getInt("progress")); + status.put("description", rs.getString("description")); + return false; + }; + itemManager.executeQuery(sql, consumer, null); + } + + result = Response.ok(status).build(); } catch (Exception e) { result = Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(e.getMessage()).build(); } diff --git a/server/user.jobengine.osgi.services/src/user/jobengine/osgi/rest/ComponentBinder.java b/server/user.jobengine.osgi.services/src/user/jobengine/osgi/rest/ComponentBinder.java index 49b7322e..ce6e54f4 100644 --- a/server/user.jobengine.osgi.services/src/user/jobengine/osgi/rest/ComponentBinder.java +++ b/server/user.jobengine.osgi.services/src/user/jobengine/osgi/rest/ComponentBinder.java @@ -90,8 +90,10 @@ public class ComponentBinder { public void start() { NexioDispatcher dispatcher = nexioAPI.getDispatcher(); - dispatcher.setNexioChangeListener(nexioServlet); - dispatcher.startup(); + if (dispatcher != null) { + dispatcher.setNexioChangeListener(nexioServlet); + dispatcher.startup(); + } logger.info(MarkerManager.getMarker(MEDIACUBE), "A MediaCube server elindult."); // Marker m = MarkerManager.getMarker("MEDIACUBE_DAILY"); diff --git a/server/user.mediacube.gui/pages/joblist.zul b/server/user.mediacube.gui/pages/joblist.zul index 900880a4..023e3de2 100644 --- a/server/user.mediacube.gui/pages/joblist.zul +++ b/server/user.mediacube.gui/pages/joblist.zul @@ -14,7 +14,7 @@ -

- \ No newline at end of file diff --git a/server/user.mediacube.gui/pages/jobselector.zul b/server/user.mediacube.gui/pages/jobselector.zul index 06a16303..9c971607 100644 --- a/server/user.mediacube.gui/pages/jobselector.zul +++ b/server/user.mediacube.gui/pages/jobselector.zul @@ -1,86 +1,107 @@ - - -
- - - - + + + + +
+ + + + - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +
+
+ + + + + + + + - -
- - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -
-
+ +
+ + + + + + + + + + + +
+ - - -      - -

FxJ}T0%Zd$rC$d9fm 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 diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/ProjectCleanupMountedLocationStep$1.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/ProjectCleanupMountedLocationStep$1.class deleted file mode 100644 index b5e7b7d3a1ced25a8ef8dd27d9e3c5811685970b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1482 zcmb_cT~8B16g{_Hx^!KnLjAxmP%HKWSTH76Ukz4FKRK-;evUR#Rn|* zq+(s^ZN$+YYpZI=0+DprqC_aRQ;*t#;*n@5)-BB0un6OO!9m~&9(nJ0$h-#M?}qFJ z4_T8-uA-QbQM+6gW(kY+z6gCnW}XYK76{A5KCwzof>n)nSQdm!E(VZskj9V;8` zqD~mDbHQFG`z;o~30ff|jA#eKW)O3IJ`Gx0AYrM$Cl%&=LiRwrrtKrNiuK>U-3ZjK z-xCXzig_zh%v%m5Z|lmXpCRd&da}>@vdLr;Dxcu29JX0k_f*=rP8c*Fp)F+tcqRU8JQ2}aX`PZ(Yi?J$yDbk>;Kjdomkm?hZkkhK%V2;q6(8!G0a*|&6dgl diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/ProjectCleanupMountedLocationStep.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/ProjectCleanupMountedLocationStep.class deleted file mode 100644 index 0b8f20111a01111bf5a3a28dd84900200b9bbb01..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11572 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 diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/RecordingsArchiveItemBuilderStep$1.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/RecordingsArchiveItemBuilderStep$1.class deleted file mode 100644 index c47c1b1edd0bca2ab882c774fb08292fc99bcadc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3809 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 diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/RegisterUserRestoreStep.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/RegisterUserRestoreStep.class deleted file mode 100644 index 5d1fd6e821d37cb0b03997482cceb4f5f9522f1a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5561 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 diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/SubmitChildStep.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/SubmitChildStep.class deleted file mode 100644 index 3a5d29e3592fe7ba051c22983c25aaf72e19bb6b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1332 zcma)*TW{P{6otRtxp?An+H}$u$~EbQ&ZIPkP_AwYWe8HE2}KN~DmyQu`T;J z3KD;W|G)#hlokno06z*Ldqz!EHKY3NoW0KW+H39g?|*;&1Kg(Ta7MV9XFB!wJ0>#ru25-rwuNdp-q9`< z<~(ZDg>yX<>2LD!K&RiUL8ygRFCMCJTcxHrPcN%>&t$@_-mITK$1)HceWZuE)xyPg z=cnGjI#hnBqLKe#u&;+U5ZsNUp-!xcqs*ZtEFNQ?RfNmm<&iaGy=^ix2=%=vimfUi z2{&eQvO3v_Z2EKHB3$x#g;$07k+z%hVA@r<-tL^z<^C}&X!06wIJ_<_zgUJ7V2?L> zOK9%K>A|I8nL5icmLJkMDow@-C|mw}i9DuwEREJbd00oI@4n`oXTS*xu}%Fs#4? zE^FL&_&~T+3NVbv<2cIvp2_SF)`XeIhkPW|RJNs(Vx|{(KJA)Y6Z%^!37UMuXAYkV zOQ)+kncpMej!@6aI0(PBU&6H+kiJzm&$@dm8tI*42p#D(I5BnKrY0Jldh=|Cm))Mb z9-kMfTPW7zp)$4`kCRXr0h#YxH9Xi-$ux0pKhD#k{@N6oyzpGKRtxi3MyODHXOJS! z2oB&Q2vA%3lg1xq*@dzUHJX4o0pKwY2xmD*g$1CBaGu2}{sNROf1%i0SYLU}#iv{r zexw^3aR7xr>sz3veIo5Cq VXr7?8KBe_ViI+8md*u{g{txYcWMcpT diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/SubmitDownloadStep.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/SubmitDownloadStep.class deleted file mode 100644 index 33a61c32499c6815338783e222cb8274bbad7080..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3291 zcmai$`*Ryt6~{lvmb7bGP8>IOqCD-`P3<^|3IqaH2qcbM9Q>kk9PAdt%DR=;k#@!I zRpJ2U{b+cUSAjIZPyEn<;Rjyh)MSd8=?|UZe}XV~rPz+7xEhb-J@S+ogftDy=qtA1X2Mb}fAPzASCkO{S_gqd75Uv~8s|F&21okC8libYHq+)d}I zpEp1uQSysL6$k@Ueo)Lf6=!)xWsK1Eistv+YGx{eWQESFvzO;5rst+E%})qDQ>)G` zCsT5~VkV~p*DGd)u5sTBwd3gpr&LuookDM+PVG$D(JFAA(%H3gNwBZXUZ0toy>!K9 zkC2>F`n~m%e(#T=U|(1+xt^;p3hl!q3qow%FQ_EX&}*?@7~GBPwBtEN6{P6nfY4D? zy5@i|I6U%!UUnd)Q^ZLKd#7Aa%~Z>I70f&Nk}^K~%T8&*30(7B7bY%5T$8kOEX5JJ zg_vG(L*eqO|txkb;>)j$caeem5E8htC|Gt;WzI@ybjw048GW}JSh>S?#E z7TnOym((TC^R*K>AUxN2@sr)4Rb|4{!JTXpVKl{Q&InyarLX$=x>e!X;gP3UncRkD zJIU}Ni|2)b)_L3kPVr$rB6Pm$2RG*eRdGxh+lNP%Y(6UNx#pRI>DPY00VEmXyeXBB z3%xBuJ+ffPkEO_RK}Z&rt{1g%qM3OipP8K0s$9opJGscGEj}e2YoOhLOmT_Jf?ZTP zr+q{COe->tkt*af5j<;gML4!yOf%I|Y0h^&t%9w(vUou_u#Krripy2ER8WD-h6#F#T3&*!l_i0S9lu7r`(V=CT3I2@j1cPe(ic;|L{nY zN;b(j=R28a!Qz^*C$hQKY$>kudBJwI3LNbRLf>N}5oWS3&vvrJD;6&cJ=+!@pQiW% zUld}VTGNd*>J4l0CE-AG>Z0y4g^^FOOrbX0CZdfX3^mt9y)R6W)=*iCSB38FP}MH9 zSrOu)sQ{Z*Azn6ZoTP+jQ5O0lD$9Pk?0aD}cdlu-6sGX02yrKzb}EKIi`i2TaulCw zr;_a?KwE@De}jKbWK&eRB_zUVy$OFFZmh!{D)q+B?gGhaM_0q~6~`;8f*GF5Q$c-F z?c8C_Wl@uC`Owr4EqK_h3H!I3zUD;#s-HKl|CJP9HT4)ZwhBY1s5*I#Z&-X?IKJC% zi}u<#&De;mAn*fIYTr)r9W#2Y6(^igYuZe$@1^*@*+boC+FW;BJ?@t)C1uu1N0jIp zr>q3qQ@3AmODYt)cX%1C79mxw6dbJzb%a%}EmonwG0Y8fB`c&`Kx#vy^;vCm2v$%V z{K8X-NhU+JSZsnfDLi5EeE<2hc{6L!@>*chQc`Ub+$X z0iy`!W4%Mq-#Pf#Na+xeqz%|hf_)s0q#))+rLLGkBGve*2OQm2OGLswkxHrt;5hw} z@&G4@F$lyEhBz6SeU4#>^hUsNYP0Bw*l(U%=hOygh5K|pWN5MH+yg#lq@NgzrDLNT ze6o$Pcsl+*haWP&_>hUko);f5Il9i(b!Hy$(&p(6a>AJPHaF7N28+VKxiOYFwT@$~ zOHZ<=%X$~J*xpmjEymLE++w`P%`GOlw+(|a`)?df+w0uf z;A?H9?M-9*Tf+TEzprurt{{IwSmGY{7$O$M^fKK*FXlC~kAoZ`%}EY1%3;Pi$`Z%9 zOFwTgz&%cIpF!Sch(B?Ze=y9uj6{Kbr52ugU}2LVL@74^z0TbzbDR8-yR>tJKky@d zOpKGf#R@+m&JuI1@&*a+vX`IoGi>hD&CmG-HopY=>NZ~I%`Izh($24d72d@kbITnkdN9=2bsHtNTZ;JT0{|8I+gEasE diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/SyncOCTOPUSDataStep$1.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/SyncOCTOPUSDataStep$1.class deleted file mode 100644 index eaf15e07447b6aff8351082e7f5eb5fe3eb57364..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1223 zcmb7@Ur!T36vcnHtyJ2jEeMGJK`QnSvQ&Mm`cg5esX{E)=j}2n+qAP}ciY5|Wg;4V z@B{dvjM=4VG2H~`X=ZZnnRD+s^YhpDAHY){r%4F4k*_?n?{<~$Ia-;%^2W+D{Xm`g zX8WVI_Zx@%2k+Z2t-xvr>ZDjplM)JjYiyYVOZUwEZeQ6!nmNIY$ZU5wbhU4KYUl>a z4_r@~%>&QvdCK?q#!3e*#}AZNo-h|2JAQFjsI~r6NL|Q{twFKxcHfP3;0%?p8AH;1 z{RdPR=AJp)30?>vN-_A@?&~oH(+`w8LaN~&sd$x;Z- zw;ZkBj)q<39a`Oi5|&!7Z4Ek>=Y;3UWhxw$@FYe+tm0y=F62)p({CJGx~GnW>ZJ8q zUR|)NUhZVL&D}J2gsoVAFVq;^V_nGhRB(PDb=%BxpJJL#VPm%2Q*$(Uz?QJ+Xxmdm zrKhM;rDiy}q#6gpr5h14ZFl6^>Xj2td2L3xcfwQ)`8{n9T;I{XH!3)GkJ3Ck&-Ud% zih;?lkh48y1?q3&J8_|#>b+h*vw4;~vwu=uFq&E`uQ9NEU-_&fBoVHVC=|jBLSZRP zAdmpE7zhi%a}p$he5HCyuCjefq4JfbPZ4kh$V3G~h61Y)6+)ittO3FeZceCPk%+Ll v%4Z7IFWmaZMuLBtmRVpWVp=^zPnaObLrRhGa`bwIDv)BE9cqyhL5S9GBn-r{SX64nOAs^{l_@Q?Eum0~SfN3z!BDWbNjMFIVJ2&4Le;K5 z^iSziU+oRr+EpK1s}KF7YS&BxDw-7YK*B!zJ7@22fBXCA-#`8WM)_Q$Lon)|a*cJT zr0j}iE5lRnrg9C>S2fQl+_lRK(~Aq&Zx$|_zFF{9O(QA{wgb&Mr65u0tU8s7a)p7s z<5mo_W|r5K5duMY%eMcva}G zD8EsjFqqE#Zx7uFhjn6f3O#wtR@dqqCFL%frK%Eo^G?~U7ERX*{%;05$HQ9VL^!6? zM_h>dYnHd$`~K&W6J9C1%JkI^8$vPNVDPzHX6KyJjk@hy8!DH1X_hrk2_x+!@B-Zo zjl?-gGU#$ZSZY;SOWo!6(@If@ukW@d4DJIYXzGqC*L@}2O0Tp*%!C`VuR?C+*Ue4S zsG4@gSSYQlvY!*;Gk40W=39>KX{3e2PjYroghX>NMa#2FRW)VXj&Ft_A=RR~CTqT` z&Dg$sHy1~^pwrKZK$OEe8eJN%3m4i=ZK3QtwYnE<`n+W;H;%!v;Ln>nqr4>?Hdj}7 z7VnA5Mw_#Ii9O8}gKOW`8R8uwnqCP4!kA8u@y6!Oo9^wv1ln$1BPrL#gmCH6cU9l4 zKKkBvyyRC-^{%;L`pGq`WDX~%lCH8>y?e?H1CRc^r)=e`vE(=3#!2zM&J-UA@rv^2 zmFJliB^*g-o*H7ocP+b;JHTbGXv_$w+Zjn{A|G;9h$+`~T;XcEwSP3bc>cAgB25uB zh?~>-D40iIV2PXR`H}QkcDY(#Ra0(x&DvC}f~*ML>rPX{!kHFI3Y?*-bD?{6M+(Al z3qV79d!>^TLR?ymIpJWzH_Nx@&06S#8bu-bVr4$5N8=M=pmkPrZ8TP%*{sDi z*ZI0(!SRAqcgyOE75MS77kJcgu#kd2Yun15u9}{wJO&UVKnKSIZx4TIbOBMi=q3>E z0U(7Ce6-)tf2Q}xF!2b`86M~y4I?0d(KkT`5}wAg+q||Hav+50jRX=L4=?EFL=!wg zlnx;NfRoGF^V^)hzvt0I;SGI_tmX|6=M014!$X`U!nv>)Aw{NHZWe-`q(~GED9Knf zo4vTr`CqyC0AqQZk+EnZn*D`~TfC8o_HS|N2ZqODKhc}r;@#f&60t2Ne`h*MBKB~s zGZFn8eFrd`=zREWKxS>z(hE=(k=rf^2~?4mbk`3$WJL`B|?NRxX#B!$EeMNC6P#rek2IFyF&%p$9HfI=;iNw0vv3~5$xu7|2NH#e AZ2$lO diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/SyncSubtitlesStep$1.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/SyncSubtitlesStep$1.class deleted file mode 100644 index 42b74dbe3b4987669ad93e8fd82187f14d413baf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1940 zcmbu9UsoGd6vclh1VX|TBBiwcsT8F)B*1{8ZB1LHNR=9(5(K3_I0@Hq>oCL0++h72 zKJ{BvS4$UtaQWYd$C-O-_1 z*NHZ9Q|K|&`sT{tClC)W77 zke-jXR2JckM>jq8YrrEzZ;mcr@yIeLbQNssKt)GtxwTVM&9$HwDq*k^*Mo39Xlnbv z9ZcKKg_+Zd8=G;RTl=h!LalHp_sHaXf!S`ia1;xSY3f?bDF1el=(??(dl5>?;~fY` z7qqI9R%pGx*14@?e{tpLq>qb?WO!2;JbCL@kjEuPg}#PzvX_G$ zB@7ojnVohE^tQ(smxW#vS4~q#4Pod-b{Iqr|1et4afR^=1tIT9kDYlGEkd7(EAbDi zIUgjdmkA*~m6*`hO?miC3%x4ZN;b6F7S6TJJO)!9-|XXEW;47e^q-tEkN5dN=nA&B zI%-#H4^-Wh$2W6aD>B+zcDXSA5A(A4S6aD`TYQ}1 zBVqLKNslFa%yC;7(8)%ijgA`gK~z_v8|KX{pKvF`f^hNVopy|f$ESQIWY-o}mll`j z))s`3{}?L!Zti-V=X2rPc0>nQ)f6P&h-LKy0Rbpt1KTlhqn>^S~+R^d$51oiKi zf?fBfa|o-pr3*r?8n>Etx9f!Am-ge7wNuDebt4K)tEq&m9o#Q1%NrdDPW!F0Ft8BS z!#L4VV@a9qc+2B!Hie9OsOl}FgzLxsZNHpDuoHuR|5&Vj3xc;8MXEU;21%k4E+KRQ zseIn9LC6o#ahq@+$7~91I5x)yyC=D`isxV|7=S+3*<-vLXI(p01p8MILEMy zpXUN8UIo$!uQ|}4=yIUt(gAM>2fQWh^Uh#tpUFq`7oX5yI$$QnM)3*WK35O8DLf+c z3-gbQrHN-OK6Xm2fML3UD-2U$lp@oVm}SC=xpYX=76WA}EIEN?mRTXiJtr(RI+&lc zBm9!oVq0piSo)2N6Z?E&nGajE-~% diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/SyncSubtitlesStep.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/SyncSubtitlesStep.class deleted file mode 100644 index 09486b217db47c45971e57771d9e899261eae430..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4927 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 D)qg*n diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/TSMBackupStep$2.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/TSMBackupStep$2.class deleted file mode 100644 index 24d004656b0a9b5c27fa38e9c35c62e29f46df15..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1063 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 diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/TSMExtendedRetrieveStep.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/TSMExtendedRetrieveStep.class deleted file mode 100644 index b7d0cb559db98c78220a385aaadc99572f8bab17..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4937 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 diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/TSMRestoreStep$2.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/TSMRestoreStep$2.class deleted file mode 100644 index f4a241cadd4a023992bfe660ec4d894932db952f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1187 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 diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/TSMRetrieveMissingMaterialStep.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/TSMRetrieveMissingMaterialStep.class deleted file mode 100644 index 6e36708b8d74484c6776d8ca012fd22fad036bcc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3000 zcmbuB-BTN76vlri3E2?RDye8wOIwO<6KGwlSe0Ovk66J#+d#o@-GtX=G1`Q;kF9xNUN>LURhqODII!hTP=D~BY*O>6MjAZAr*iH=S+AZaTheFYD0r-Li0EHt-|u_7Bg7Xt8wc;r$5D=EyQ2JXQ64wbX9aRk-5Rn<|DJG@RzD z6MFG;$C#cnwPs23e2xMqgp}U!B4Mg}Y>#`+s4Q6OzG}3!623218$rwV>Mh$3qOY3v zW)%3gv*p<{PUJP_W^UIvRYR8_pU5GW!)uyf2Pp->T*y}L zH`JE)0zb02D4g0S$le>F&`GlDMP9wBrhPxqjtLU3^f-Hm)iD<d-^DSS%epY`t#JclnevTotTEweC6db6H;GB@0`4;YntZ<2o-3 zmf@f83PZ)NmUZ@}v@pN~H!NNi&K&@9pqL!5@w$+4l{N(lXNwDmAuw;tF&igyoTDuK zRXhafj@#oUJ&9%hNt_Oz+0m!}&$A3~3aPolO{6 z&}04QW^yRL5Kg#C&j!t=YQ(B0ywOdB-OcY^!G35t!-kMv){bsRvHoo4_>!iO+-hs# z^+WP@HLoMfrN>QKe6}nCVYDZf{VH;NMJS}=1ru)dT&%rYs3*3y(9^1>qIOf4g>+&U39=Cr);IQ$GY3NkO-OFX zfwK&o;B%ZO$pv%1Fv4i(h!?=r@i$pAK(&y1#3f-eT}Y4T#~*O*5w9efw8je7)qF;h zSFaUPg}#Tpu{JiIpL)p6A1F+w$HwzB54rg>LxuDs<`NXrf5?xfhU-i)LehY`Og~Vd zpEI21EMp9FopapaJa2M=Ta2*4s6p_t@vU|cK$QjFGa0K?Ns}=KZ+mB(%lI5Q+E#Ako#Hcr@RUqz@SWl@FG#-3B-+C=yoY6&$Y4oPK+`5k QjzPBhniRr)GyHG<1-AM!yZ`_I diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/TSMSimpleRestoreStep$1.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/TSMSimpleRestoreStep$1.class deleted file mode 100644 index eff6af148efebfc265eed3fb9c5b6f4be1abc88c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1016 zcmb7?-A)rx6otP{DV=W|Mw787zOgzq z{(gJ69S(+leXqvGiMFi{%Nq`Pp>!OK1HT_cJ^yXzSi9C?R`4@gHy#Y)$oPp4VtZQY zH{T_3FHvK5#v0jHXskw>2($JmH05<+vo-A`4Po|07=`ww@T@X@dG$cZZ^wr^hj7Ki z;j&APqQ@L1Ay-Ks6kB1Wd!s=|ll`F6S7E*tcZ2>xkc8=ZBIeUIgsrKkC~q``;&5Wl z_E8Y^^iZfz_PNN)b51s@2QIg{Wf9u)0O_wE>9Uchl(|(4> zLmmkQbC#K}G*b_AI<~@pZzQNTn#&SOvyPH=27UoMEDYiR diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/TSMSimpleRestoreStep$2.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/TSMSimpleRestoreStep$2.class deleted file mode 100644 index 81ee41c9ab4dbe7a36c5e320e2610c0741c96e0a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1057 zcmb7?-%b-j7{z~ITUlEcsZjajA4IL#7H~;}iAjw&4JMc(i6va%)pnVb#dfyYnKr(P zPvEtQV&a7l;6tg|rHQ@3m|jih%=ev~bLRZ~_5BC1%eF&Cs1J>bz4NG}bT`z>Gb$db z*fUlQjCa&NXovklPrX&fMzLyJH7M5|azgRkANgL-*InPPl+)7x)b-ww^*NNL*&ja6F3!i+r&O?gMCx2Dz65N2M4I`twsTyF?- zCXJ?f=IgFH6{=%5SH(DyVxxLoV1?TbtHRE-@wwdLt}q+;x*2I3>Y++apA=YQ-Qm7a z{^w^-sBn3}Lm_XJZTdP;Jt0>)NwUkTkrg&BGx?tvVXkfc;QfI=7-w2&N5eQ!ufint z)vKELG^wC4zo&yB6hE@rc%IntOwzh2?>TaX@ZUVb(a6@qS zwN`Pn=NqF8>j+tdYe=z}6a>fsc?t-#z;iMwQmAcy#jSng#^-eACQwLUlINQIoA?98>zr2RDc{SRM|>pNh%Nc1AF%nb^rhX diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/TSMSimpleRestoreStep.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/TSMSimpleRestoreStep.class deleted file mode 100644 index a8dfdf4a49b23f3566b2eecc02d9ce8a54027da0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4191 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 OWmNGvr9~+{0KWj=oDdNua$ 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 TSvE?C!PEwhn_3JHm41H+1~l;b diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/TSMTransferFromStep.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/TSMTransferFromStep.class deleted file mode 100644 index c5717393b31311a5be1ed34bcb2d18053dccb6b9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1803 zcma)+ZByK26o#+EzGPX_mh##~Z9!CaX(84kD#0oiklF=m7nrer3fqSex|{4IS%!|| z5AhfH)t4DsozWlQXaA0llP6nVEt)Tx+|Rl1bD#5^lRy6c^><)~ErTw>YDX%x_JVEY zyPmJCNQL_@m^Yhwkkqkp7 z0~Ca8yz526?dpXMI^R`WFw}vnw__!^<&<6zn$5tEtXdp|YBTig>YlUjSPjQ_ty&y< zzH9&Qz{=Mr$m`pCsvg@yap|D0TCo@Sk--~6|8at&6QT5|?Z;kIZF!Nm-B1g@AHd!1n@c$7?9-p%d>$CbyUpGOmgRyL?{sWN$ioI;l?y**#d?Hh5R)(+*CZn!Lvy zAs+|JUNSPh<&K6ISP5bmd7lpqW(8BTJGjY*d?e)6ffvP*9{k5e1lweukJCY3b;75~ z4qZ6NX^>su6JcyK@_cu+6{>wNXh)4_qoImJZ(ltbP5LtW&9^-)aL?c~;l@Qvr59?E zB_ZqiJAtrLe)TGK9Gq|P38XW7m91oLJ~t^bB3zDwc34+02VEF`#b6(WCLLXKntCJRUgbcV;?#B9!lhd5)Ss?8E&V?*SQm;l zT}Vp1_AiS*otR||Ap-~_$sY&EP{5#o&<#u=B#-fe;?MN{2z1d0&g1EEyJ9W1SpBO!JU0 W$@2&>>H3RVgPMVr?AC^E-{wER(b9SV diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/TSMTransferToStep.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/TSMTransferToStep.class deleted file mode 100644 index 6c2c9a647e0d613ddedb3171a9cad7de19c5a86e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1231 zcma)*-A)rx6otRtPCL++@()(giXyZ?8BM&R#>6NlCKVD|x$$aRk99~pL(ZHMcottm zZzOu*1NczJ%(PI7rg84h-fNw;*E)NC{r>S2c*+x-giz^)N;}6vQ~7PrS5Bz(snSkp z)JfTes`^}~-!H-frRCpMN)8cP}ABealy=J}p^E+k9kBf)wZd{7yZOy)?D7N%>S zul9T0rqT_!*-^q=Eoix&BUgLTc~G>>CodG7+F0eA!&U`bovBvOD4|{IlUqTz8~CA9 zH-T2~v{$ViyQi+xas9SaH`?>t)&B;T-(MpiG>=uwRE5mmSxcQ5FYrT~IbnV%aMckC zhdtkTU3KJzUbCZK_jdy4m`9Mm@8&|iLx#V3HhP1R+ zVXtF^`G3A^x-&>_Yjl!v5k%|I??*C1VU#-JI8%=u_kl})ZSzj#iB*Io(U(A?e+a<_ z90UPUn-@%cjoTTB+hCIga(w_frT~f7h9on9g)qzf0KX73;4>*Efa2!XcBNolu(+G5 zd}DbxT}T(K@7ztWYZp>quEgfBfGk<2m?h5&GqLbt|C)g?6nV&6JWP>Ctdodq8?437 fij-K#BFh40Hc7>IZLv+76_Qlg!A5Xm-N%0b#al;E diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/TSMWriterStep$1.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/TSMWriterStep$1.class deleted file mode 100644 index 122f255e0840222b327844918a7d3e64a4912adc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1179 zcma)*TTc^F6otRtRz})F3o70fq+&0?fbp$rVhAQR#al@+@oC!bv_sk%a%S52w@gH% z5B>mulrb~Z1h6%nr*lr$UT5vK*ZKAP$4}r1k1Y~HWf-Wj5B-*UUDs1PP%~0v2caGX z_I_jUz__8BMyN-HZHttUKXgWp-FLjM{ib!O?a*RIuw$CGKN$F4U>hCyp$4IE)ULfX ze%ELa?2gn6>uwOLr$(3wdu~wJ5-RlzOQ;H&k<%}jp%=OX6;`Lz)?WFo_a~sLF!R*) z-0->Zt~dohq21~f=xORwQ%LRj9i2tUWwE#%?H01kl1`K4N|p>)g=8^;=IXAeuZM${ znti9$S7EX4x1D~|F>Z7oU#22wgpDZzCTJ~eSB2cs*yx>}<8`$oRL1R28q1lfR7=e? zcerP9S6G`m$}=@t?z1dpx*GnykNd1;ctF8oRaluk*i#N>dB~cu;CgMN1NBZ(rHZx4 zv!sqf;lhmw>4rZvZGGv+{+>zjW)xi^x9he0e&BlDJq>$)$6`Y$P1ZWW>?}50f~B9d zJq%U&@c&f3Fzuc@(psp4e=^l+*?Zb?oocQ0v3~wzRfTNL^VID0ogmPFWrQTcB@+33 z6gJ2&Mo|M2K!z;B9Po?;Ng!9Q95Y{DKPF%P#^UD~cnwI$1wxtzOAr@Aj_ce2gqz$N zQ@tb+W9Q3X$XC8{`#UQM&NDTc;~-{QIzf+_V4g=5W8tOv^)eM8#X6g8$4UetUVi|E CbwGds diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/TSMWriterStep$2.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/TSMWriterStep$2.class deleted file mode 100644 index 8fb318842a64f3acb9a9fa9fd461c4739b7a1df8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1063 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 diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/TestForkCancelableStep.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/TestForkCancelableStep.class deleted file mode 100644 index 23bbe998435a65acedeffbd265ddb9dfa09dfbbc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3685 zcmbW4`+F2;6~{j(yUA=elM8_Y36}-}lBASHik5aM3dJbo0t7*^Wy2%9~MM$`4ek0Mgq@vN@<}r<2rs|Il-7!uBrsh zLR(?M<(`YvWud9;mP*PKw&h%}l(H&TVM3*}&~{4td;erA7pkO%#)4aQ0zn3a#KA(@ zcI@Dg5bNt76XF@SsFHND&S0(3TMus7a;%c_Odevr&|FeM;JETG$U*@Nzx*; z=WIuvs7~jVH>wM%OW_u*@|fk>`gcv(bTEuHNsKKfn`qY<51W{@3h`jV_J#eqdbMA< zXKBGu7geDeDB)b+DhPu^Zay3GAYDh}bkzy$X_f9jzoeNb^OLF&q=jVmVnI~`+jV?{ z4+v`)8@_NNbk#t{Y~Rk8)nUhR11mHVcCF$&;-n^4)(N~z=@tgqZSaV&ZRLXKbZUM~ z9%YZva>4bcPI;RZy{+PwCUX^mqhALF>tWK}B4 zDGHnW2K$#O*TB=-V#ws<%VO6xPOf|0zP6-{0QAb2ea9U`r zSe`YVWRx+3Gs2ohtwASH;oy$*Nx_)Wi{<16Vg3D4*3{BT&haUO^TPU&N(Fa%+I9St zF5sEKF8d~*<}*U0ix_v8?QQ70f}$QC_BO`M&ZE-Vt^#E7(eD z8@wxQt*o;Emo;y);f>I! z3qlBJqdSy<=*MTx=qVaPvzCE7Y#!)HzRlJ}!?rLElQ``pF+%_|Qm2P)A=GwyiLoP$ zM%c-&n!`TOQOR~%XasKTo}*tFj~%*&GcZePj>m+XG~J>!Fw2Lv=pIi&XW|_Wo$dVS z9gb|7B|FPttaG^WT~3~jb$(*xY<$aIMn>*(c8;eLJQ?qbhwADMN4ny3l!RHPW*MBr zY2d|}Y#Dfqt*`z2`tCWN5pJ`gGniwh0eL+vv98ZPOkgbr>(GA(HnN^gbkWCVPSM3U zTM1al^K9c9+j*JZuoU~F#A>C08(ik|VR>$Fh39CXnHip^l^Ek};RT)}&KH1I;{U{y zwtsN`?-(6P&9YiU0vbbz0|T?Xc$=@ya{U!Lq95Ox<@!x}bQ0g!l7U%n{)JcP_=#|r zpU&~iIJ$eWFs-P2-E^~w$JxB3dk6S6zkx86I1SyKiSgTz9KYlDA-jY(iSZV9xXT=% Mhv6Q7<~_Rp19-O!KmY&$ diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/TranscodeFFAStranStep.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/TranscodeFFAStranStep.class deleted file mode 100644 index e10bed4fc3179a85f9c169e4d0b6501a619da34e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9224 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 diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/TranscodeStep.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/TranscodeStep.class deleted file mode 100644 index d5fef16d3c30ac2a43430aa23e704e3e0a57d6d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2340 zcmb`IZ&MRj6vltY1ny=D2oc2vts<>}AW;$85^GBlY%Bs5M#gr=nN7Ij(quQ?y)e=* zm#gI(^;m(XY{Vb`uDHB*S!?7un6Z=R7%op6A>@|NiZF;4V)TXN1x1NQe2Y zprrjx&)4}#hdVmVM@HA8{95SxQ90Pqt47xpXzVWKMF#6pA;N{YmE}Md2&%Y|`n(+cZQsjhl&4Tt%1g8P=)Qh}QMbG+v zVB91~7;af{Jg#})gu4Zc3&N#+9!!|M(T5W|I*h!)x4B5a!V$WgS*-3xMpv^8a7pOc z)Mh0NYC1H#!u9vGfAm0+jfvQNz*WT+p{EI3^o`!sVU|Iz30BPwBVF{3aQ=OuMa750 zt<$k&esO-OxEvR5Gejo-8qU(iS;eSu`&1wc3$v?ngX$Ylr?5$Y(im=G?% zx4%YLYZcdMn-OlssoWO+8fiJV|H{;6hxhbw3d^@Ar1F0dynC|}l-$Z{upO55ifdlR ztKe8pLWkSbrZ9R!M)j?AusK3kHJ0t%c1b7t6`Z5N`_dMAo3vkZ!BhnS^dqI7l-Z=r`=$3AByC8JFc;O~2jp`ti zrvo|2?SjzL?8t1L$-;%EZLPuGCAX@D&Q;@Q_tX{XI;|CQ_OubFtq$g?-xn6YwWZ|R%K z}Gfs{v&hda=9@57O z7g@*QIsI%gfKNXmSCT4zBny~E_3_&sCX>7kcbVc$Vw>jUq`ihum?WLpK4pfs6gfWU3oKT+#w=fAvCaTT3p3*&Z#nx1Mr_bQCr3woR;NoupO?^CC5o$2%@ z(Mc3eBRdZJ-WfaYtPR|McY*wBG|||1gy85j)|oe{&1!55J1c|pj?j8Dx85W=G?^Jq z^@X*mj|!6T;J=&Z*&bQ%K6mmgZ`NtBB{Z^h?qdDDmazMeHO`@3Gu7iLDN8W17~P(3)~($}ILK+%ROmx1~M zK%Faq3TUxM Usi@teSqvU$*UJoTozV~Ack(j336QoH8S_W7dCq%#o_*f)$6vqx4qW0}lQzMwM@rk9;hG9O zKTvk0^p4VY6szsXUeaz5tt&mR!>y&tLM2w)CRw3$l%ynDFlwRaDJ_hYL+#n_wp-m$ zb^`i=m;7GZw99FTBjjhQH9zp<%R;6!u`Fb-g!ff}4mwRNVf3&P3vS?gN?RP`xX|vY zxKURaElvDq^LB)8iyVeRvA(sY^pd+)Q$kNUth%*jSNqBTCTPs0vlhrOV9`fj z$i^FfBwQ#TMW7Z{9l=x&Rka=~!7DY=tKrsG7({j@4z;?ieW$$X?znc%4LrLNYd`Ru zBL`00ZAreqwyCPIBNXNyR@HXwhe2fWy3l*jVE;rY-l_+&zonM_$X~0e*&qmGH%$`8 z4`rHIU@nODBd5R!qb6?({i!rBaV!blUo9Xw7BhUn7DSR4U?$Y)t-tE3O0d* zG()SXUWCZ5jrceTYa$LZl{-&$%;^@q$C?9 zPyWlDem)_>2to!B29s+L$dJb*kI)W`BP1X5DTQC?`Uz;G2QbnDi{2DT3iRzK*+_bt zn|wn5izyvxiq#0<1SiwvB7IpyOfg$| zN@?0C8qYW{>~iS`27ab%a+m3z%L)2%mdBi)JahJ3G5du1>D*%mrj2Gu(b(nMGs+o? zxgS#{X1U4`nUvyKsz5gxdKsXPQTn;a08^Y`mLl^Evcgcx=N9>7x+b6G=>|7bj;q|F zLR*S0aWhqWmD^Ovl3|5qR>(2H8NTEW2J>{Y%3Tb;0!n25WXj~8iTyX77$#yeVluY( QeJ=rqdJw)&U&S~70K>xwtN;K2 diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/TransferStep.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/TransferStep.class deleted file mode 100644 index a137523e77c805e4a8f90892834a8f4e2c271c22..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5751 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 S+w6tGBkr&t9Pb9Tdp`jov(!8Q diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/UpdateGhostMediaDataStep.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/UpdateGhostMediaDataStep.class deleted file mode 100644 index 92fbb786aaabe4dd2739847ef1f9a03868dc77c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6314 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 VSgnv%vRc-F?wqn#(z2fP{{l@j@(KU| diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/UploadRecordingToNexioStep$1.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/UploadRecordingToNexioStep$1.class deleted file mode 100644 index 2977669886ee1e63e687e7956e9cda3da3466506..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1355 zcmbVMT~8B16g{`Cth5U)sQ4`)6-$dO7-NX*N3?-tNks$5i;2m0d$S$V&NQ>rhQDPZ z8hP*s_@j*3rN*MI5a(&<=G-%9&ONi=e;j`U@CXkrqzLQXh_!Q|>MTPc*@;;9SUZv7 zPUO7nw3Of2;Xvtzkl~)%=0l-&4R?xb7BYmwf#36;mM=r+P5poaV_}ToB%Fb2x0Q?> z&242kGD@@Kz11qz97P*FmZl~m!;&>&%rr$*TqUg6{!fof$o2eIQFo;gZ6+*?Ao8|U zedh$^62_hiDa>=ihtdfASw^@c`UcNg+9zbHs=?zRHFLhUYHrXK@R6EZin6j-2?Z9vicmBjiFhzv{`Qy&UeMXkmdcKYacJcG|dyMZ%Pj zf#x>L0jf;Niw#V3&k)Xi5khuXb#=g-A~t(=bm~{)xD)alGH9tt$nZ6rrfOJtKzKY{ z_*rAH;b4_u@gWCY!-V61C-J2Ynxe;^;kH}*{rYx|7BY0bze__Z!bewqrDF8XxAWQ&wh7{5O^5x1ACde?p=188^RTK7~J-USR^& iglXmk-Dd(OaUZ2b_)>Cu85IB-EMo<0i4p=KSw8`O7=`Qr diff --git a/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/UploadRecordingToNexioStep$2.class b/server/-product/production/HIRTV/jobs/executors/user/jobengine/server/steps/UploadRecordingToNexioStep$2.class deleted file mode 100644 index 4e1d33a33eab7282ba583b9aabf780d05001b7a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1239 zcmbW0-)a*<6vn@ktX-3CO>ARZ|D{!9O;YPh5h<<+5+X*@7Mj|NdbQaclBvl|*qIG| z6`#OsK`Zpa2k@a(b{jBYTOn7&o;~y9JKy={=daTr0G?sPMvAZ%X%5{Z)n?fhl3mT= zh(lK!9%}dfu&?~i9tSGy2-)3NJA5ou%kZ$YX~QDqkNlDE_I=rPciTrC7#lN$jf5Gf z!9YpvhCEP)wNW9vjh69Er0XM=rYW>x$su9J^n@-wC2TdPQ{xe4UJ5D9D}q;^7E(DN zST)t*3U8OPjayRIfx7sPA^Z*>oDkv5jPAEyyoA` zw@fHx*K7P+I;V2}CK~TlyPiBf?~;zaNE$Ilzg42+a!&=|hnl)BINP}<% zl+VW@29N@fK^BBr09!~Um27qW8=UHQT>FyrTnCU%{=~QIm~-ED$)*(e9_!$h$LQ zW@Ky=Q<4zUoQ0OQ2|b;b5Yx0JU?dAeXsQBjdZulfHtC)8O41{}XhItDd^5Y+l`P4A z^0a#NXh!qB-}}AC|GmD?efP!B09$3dL5*gfnQZ*DU@6b8K-4~K{ z3$Yur1>3QMn}pidwjrTzmzz^@E@Z92MZ%`#G%hJ(axs?(jd>MBW)L>Dww=>fjR=>T z)YBlW>a!iyKUo}6-W}FRK?%)$Zq_OcS)Q%`FMVvdA(S;vEgMYMvs$PN#%y2Mw$Rw; z34?B-K0BtehlI7Qy?x`>VJlOxoP1_5@N6gF-PWtcyvk%Ht75bWEj`Imw{X-dT0yeq z!Q(B-5mi)<3hd;BvO%JW=LxV3d@%az=A zwwP64ZXX#}*`T{^$RHzJUeTz3vQQXsZ6{FP?ju<>5!kL1;~HVd;88zN#iZ>g9XCj3 zU1!wJPkJhsobcQUQh;#s!t`VIBB{y6mAeMT7-*+bp2tgFsTIT z73v(T7^15pZHbexVlc3>hxS<$CA4i@gx}fw78U9i_89D*A3o)$36D<7LO}!%8QoMKoL_EY3E= z68w8_b4PZEiFrAS{gX~$7gcxLB2E|Lb8z(yZWq>6d^fiuBuY$%Y~LO!s2<00150Dv z7h0B(E-Df_%kOpq?`U@ugB&opL)f?=cbC$MR;P51$q;u67vxnisC?gcohUlbk^D*_ z+{7^V7~Cx+mp&;noXJ7nA*{@+psIQZSG2Y*RBK^{(YfnB6N6YB!7>>kD>V5k=y7tp zqO_O&e}{%nMM^M3x7luHk6lo4^4JDrLd)X%N3N*?rpY*m1T(LKeJW>Lnu~B@>!R_O zqdQIx$Hdi}jJyi^t)kNQxZk7+(?A!E<&Ivub-41HI3ANa>l_yDUEY36vpKJT7>aX* zV+Kcsi$ZD3S)^S2O&;W(!Wt`=8}Qt`r+mN9_5<{e{A!^GaS-%u$WiwXDyLFlWu*paG5h0efg6x>>C`{8mC8i!sN&K3Be3J%kf8*x5smf!q5U8%RXN$ z{Z?{fsh%w@bBvD)+k1{h{mbl$LcuN0o^XyPM^z!1ohk&gCw-Ol?L*2_e)6zeD0Mo{ z?8(E*2|Jr7O@4}>7V2zg)D`ajzv)@3lqgsHA)P3G*5v2-d11B2?_sq|n_1-|ch$DG z-K~?`$4!1g=VRT4MmaXdQ^Jis$p?>D>zEFmq;kn|RXFzQ<5f#m(ow}^FgxYVP8G&f z@ap4fgQtbgCHuFc@_j3>G6TBv)18ogOy%}PA7h*p2G3>Wu!D^38W}uL1?8lZJxNbF zIscgQl4JIWHT%*r-D9e*{{h#_3610B{zbTAVY#hp3Q9eW z5FelG5QI(3>?rp|A;@1upEB8 zWv8&dwQZTHSSRv7F=-?o<4<){d@LF6OjrPDo;6Cm5%XO!q)1}y$Z`q z43JR^ALDO?%}X6Mk4-wpSA@H> z%VTjm#u;skH?%D_#ds;k%ZK-f#mawc3cy8ck-Ga$?c}u9>bH{*? zo*&ca*xKDBBDIFp2$zRP&Z)9+FfgS~>V=hAPgy~9et2~>yrAJY*MW-%os)zcT3O>&hXSC$7{$96NLc0son z!I*E#W@!;>^C}1%>xz*UDe!YGU`REOQFoKHNxLB_q514pQ#xcz)I<$fo^k?hxRR;Q zW|J}HYF)8ofg7C|lWT>wJ<06s$->#D*}9x*<}NT>(&Y+$tLq0sd@#HKjq1~erN^nX z)?ZE^ulFa7JdQIx00nz86;e-Pfc_A!Y%8kW` zJhkpgTAm}3I>nXEn>%J`t>X;o;pVIBUgp~2+K$1~Y@Md-m35y2YD1x#sROQ}j?Jv0 zg;v_a(~=R#(rJ+5Ms5lvNO3besG%q1A+6Ntq+Sx`;gTp@+E26VV-;z7myxFZ*#**U z!640AGPH9|l{8!Cq}jra> zCYa)Z=)>{h)HFXd#k-}eDRqiRJEr*IuBNA1)nz_MB4N((p&AlRud(6`{lm?VP4lC# z=$)E2(bzG?kA;Mx`+hPJ>zLtV^*oK+71!J2;r8|^e&$IwXfIE3qWKrAM4X~na``8Q zn?KnQx;zmZ9Iopa9Ij8qr+8*?nqTf}Dj_7%G{dvCXi@a*^MaPA_GPYpmKqK+icLSA zJjEyJFQH|eOMz`Pv7NPav5{`l+(0Kcv7MW_jol2>$3glT<#rA+z$E)Q#vqSyfG4<< zr?`t}80HjrbB25PA_w^f@8FvpC?jb};lGCQab-#)`DI+`WHukqOsSzqVZnI%RiU*$L0K_lBK@G74r&Ov&4 zjn`@75OIE!-@@bxR`WSt$K)Bt!*6lkU_HOh@6Z&+!F@Emg{`lO#2|0bDF&V4@36t3 zK`wkBH27Uj(BHK3EjAHfjyk0K4rzn_Z*v1R`Z|u9DpYGEYZVQUy{Xgu{tJ8|b&4;% z&bo36_~HzIrX8FfZvJx}_U%<`e_2`k>u_y~(W>RYtt@|4FQ+=1|9+Z(xU>16PV@Dy zhD1Xc-g75?vqJtKA^G~||C;8%?@T4?n*T@dOC{=?zZJfuPI2#Zd^^!FqtopRJgU*Z zMjEChrr*||mZm9L9fm~Rlw1_P)KAGJ`sH=jmvmbr>*kJJBkRL6L(Z~6Yf}3%ou}oB z8EF+}B(491hv`t8sOEA_6_@KY7oB^f%=i!+0ENLQE6H;iV{GOSDGF?($WA8c<$mtO z!(tMf2bkapM>xu(9OE(G$wxWP2_E7Z9_A(9#cRBq&+{I>#3Ou#_wqF!iB@P z@jYE0KStiDLA^ zAK;HNWzQCp7roe5^TIRlgpt`5Z_RVNUg*0E zCJsWsB@7uGv0$QDU&VoNbk@RjqFyfw6L;&OB@`b7VPGB#x%%XikbfL4YndDe9S%?y z4$TIk&h>k3jTgOkS5w5O<8_z3I7q)UXWqOE62aZX`Bw#6!mzJqv!5+eLajcz58pCE z)nSaILfKdI+zUNlV_{+|We0k>?as^??PW2o0|+&T5`$$t?blJt>XJi&V#;dLp}~|;Nz}ZIqHM<1 z`raX@!z#v_^t(nV>3i+;jSB1aeU#f<;ok%IY}n+R-+c4!744XoP@aC@(Nz;fVN&9n zFuIes{UX#}_Cpi&bSX%Jc2^&TVPrg;BwYII`lMGd9h!K(l`iNlhbFfL|37s6=l+J0 zs2_K9XHPT7)1a$!UQf60ZpTqxuqmlS7~As)xRNTwI6@8>U?ANCYn2!Ta!7iG2o=CZ z5TMZbg7eXa4FSbXCx-whvkx;2|3X!&y=SluOdV$)JesxF<=fx- z_FDeefB*b9;3&VcNC-|nQlT>!l$2lbeC0$cTu`AC#i|xLmxAzy3SU;LHd^%-)Ksi$ z7Ac``y`YzZl6Dj_)u2*Qp|E=*2rG_TbIY^J(MHd&=m zXj({}3}#f0Hrg$0p>Mqu=Um^dsLze#cQirB>foE)vn%Egts#k>ec{hqxI65;EswmQWSjFG$kRani z`&8_fZ=7>$Mk5vl;aLrHt`tO(6RIdyZgkrzS3Tv&&YZg#M$Tl@deRtQtb5fN73O%J zPW|V&%?o@>NSE}1aHJ{bjb|)cj0)QyMcgcu<)mQE#&NCSI5|#mN^AM_|LO0v_Bd-Z z&PzhZt<{u2BOGicg~upr7A$6&5YmN_k&zLd?YzweUJCR%oAAnLchM*R|eSBxG5w}XL}wk6NE}XFEfCOIU?#7vC#EU>a|Wb3*2gKkEz&= z>yg<+<2kyyZS%U;X|AH;b1I75iqfOvO`AiU*13OR^FzG^(&cIpDIpW8s9ueQOyju= zhc>LT#w;ib&ulnkwFg4>flh>-<{hr^xc0JoW+`FYnwPq=Hi{N^9#U81ZCZTz(3-h8 z8wR%;J2E#F)Wfnm?dgU2WQ!#?tXUWAao<U;sgXtk1~(i7kHw66Ar5IcVnzW6=q=t^_%VIZf}s$F@g9+DwSu za9}%6n&2*WkYuN+FLbl3S>h=$IPQ=%IEVKixJU2t?hg6nH*EcsE&09OpRsS5r<2^J zV~ycR68Qs=G;ljf107_@8_>Jh#?y2fEWM4)O)N0XvwRaF!ytQjjszo`0TTaVm$Z}6 zJG()T{F@9};L8sALm%o698_;&u%GFKAh zznl6i-@lT~m!_7PNm58jA>EZ)W>#3HDiqRP=_SJBcbP0?K4nW+W{JgR-bi4sXb#Q2 zk0j|zf5BO8dFw7G3RY`}ta0eF{=VLE_wPwC#$~S2%@}jsSt0N$oxl!K>|`_DJVy@& zx*25`WArk~ZZ5Nj>+~^4KX0;+w;A9Ld-;%le$769%K/dev/null & diff --git a/server/-product/production/HIRTV/settings/application.yaml b/server/-product/production/HIRTV/settings/application.yaml index 5fb68d8e..3d13d1ce 100644 --- a/server/-product/production/HIRTV/settings/application.yaml +++ b/server/-product/production/HIRTV/settings/application.yaml @@ -26,15 +26,15 @@ services: host: 10.10.1.55 collection-name: test_nexioclips use-mos-gateway: true - disabled: false + disabled: true octopus: api: address: http://10.10.1.11/api/v1 user: mama password: napocska - rundowns-collection-name: rundowns - stories-collection-name: stories - folders-collection-name: storyfolders + rundowns-collection-name: rundowns-test + stories-collection-name: stories1-test + folders-collection-name: storyfolders-test jobs: validate-transfers: false copy-buffer-size: 32768 diff --git a/server/-product/production/HIRTV/settings/jetty.xml b/server/-product/production/HIRTV/settings/jetty.xml deleted file mode 100644 index 5e47cacd..00000000 --- a/server/-product/production/HIRTV/settings/jetty.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/server/-product/production/LOCAL/jobs/classes/user/jobengine/server/steps/EscortFiles.class b/server/-product/production/LOCAL/jobs/classes/user/jobengine/server/steps/EscortFiles.class deleted file mode 100644 index 181784cfd04cd790b37b7b3bb752d45400ee9fcb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14968 zcmbta349ynmH)p_$4KMx5j##IClH5Rz6D7LASDitk3@-&5IYG@+6LJg+X|9K%#5*3 zx1~3f-i6YJo^)wb+HM=5$Z|sn-E>R07u{ZL*_LM8ZcBH|9_{Y-SRniRzL}9nwoKUH z^2?88X5PH_zW=-5=o>G6`EdZ-*n|W|*gR>ddiaDkqGraE88vLE`mL%SHcT~Zgu9JV zO*eazDbmD5H=sQ5D?wzL^H1%X= zJW43<)G~${&zOhfsYx|}Ab(RG)%3(rGOZ4p@pP83tZ$$z))VWV=N5p%Z)=IfGDi6+k5+&^8)3M<>(-A;6#Q8yx5lpqk)oJ7H)UfPH-n6M^5^ADjT+NKm z5NaHvuI|CkgRuicF)p%>Kd>pgRAW?6X3Zp5Ah18y+uPMK)E&TO{3@ABb;V7UP}wtZ zu&-n2`26#Fg51~Fnn<+H%*@OXWJgl0D}eO`S+xbk5(LI?ZXhgk-ap+SCE=<5!k zfl#s0XxnJC-JDFN5<*Zi_rU<#2vVDMi%`)y z(BIP=>l|{PUPTDDIX4M`9iypaCTX@4JPnP93EoaEp~~2fYb9JmSpRbH_r){uaaC7v z9U_F_xN2H9A*^p`yrkiRAnZ_3gXM(E-egAYpG=Ra`cQl%rE6784Y9_>fgocKViNWeszs1Yn#okS zGoDg2iMXy{ANCW<##J*Wf@M@CtZ1;=6p;!>eG2+9K=8!5$$Sm5SmR*{HxTLsZ&RH% z!-L6mHl=bu>(TUd+>~(ugZ!LBgxZG13N{|*DjrsF1UC|-ana z!>b7XF~Oa%!R9Hn6=Wq)Ab1n;8G}GELV$aw6$r~MeTq*?kh$Ml>J!#jG$jugC9GUv z2%fw8IT7XIBzI4bsv@Tt5^f>X2x}*`aBQIPM1nzBxiAm! zo=m0^s$PakOi8%aal#@I3Z^kb2$-66Qo?e_^dj%u8J%PES_OZB*Ab*!c}^b~BW!Zx zvGn0(=osYxdxL^E;!Om9JeyTB2|}xzfh}sW1KH;ge5Pc)6?aH@n*&7AX$%E-;_U>_ zxM~ujCAhoIRV=WGQB=Y^2pa{Wg$Hrd)RQBVrW)op>u|1QybJG<@a{z#i9)L2y?7r% zwrp-0`(R09+p1kkoC8pSPIwA05{2qbPG~KpskDnGSA)MsP;9-_R7#sF9W^cocMv-q zz=sIbCgDE9s$!Hnwd~A*@K+AZM-+S%A0v22wd@RGxa7$#3B}4TL}Q-qQUC-+l{7^0 zt+I~QrzVnd5oa<8pH%Rdcz`Dj5r59ZiFq`dN~&jjWU+ocsy?mY6h33stpjmg&6utP zUQEvAe^$ZgkRep68Dmmc5A}EUXgoj(!8BLYa*i^Wjd;*>a7m{XJj5mOV!_FHj^hs> z;Su$v1%b3=BszgasBj=KB1OX-`R89NWFnG3L3HHWXQ@*K+qjx^Utu z=bsLq1jV^!5r>LFijDPaX7_Z`Fpd8QUPn1z-%#*Pe2Y+(H2Q3X9LA;URteYzo9`%i z6gh%lSB=S(NuZ;I@%x zPw=buakrE<#)80|XA*5Z8o)Dzbse|WZ{BEZu0MZ&Dy5~*-=CSOPoKYEuTPzS&{S_r z-rOc5i$Q`ks%1??Y1uN`eZ3G--Rr^79RMIPKFk5 z7K*2gU*Ml4{F2bXGud=_I-Lq<ePJe z)?ydVSHd95h5kmtKjU8r)fshafgHldSHdkS<9Ym>gnuQhyQJ<4{vH28SU#?rT?2hF z-YD{u#jSB=o!xIwZ5<6Kv~+k8Nwf^V$A3xqPr_xqrC*Xz!GGfqg%sl)jBt2KyA@fo zh_{XY&`g%sy;6^&W%v{RN5Y>8%S%01@B&^Wlv}>kZJn9WSVEa%0XAv03>S$c0-?su z-+rtR!@UH>P|ZR^5Fjt1c7C9%Z`ivxl1@hqqmeW7D~Tg~~`NAUvc_oBY{=e$1)WMQk~3w2UgqFHt3-YN1HZ-Yzu%ejW_CL-~*EEw*TlC!V5w6)-p|KDN%NY%=qQ0+$yDbFA zx-NG_?{Uw(7-WS_#z_-;yazS4nhb@e;sM*mW*j=Pk6AASaD}&D@=eXKr3%W<5$M zOSo4p{QHDmbrO7{hRpY7d}Nz{cR{u(NR_FZ z_DIy@)T-jQ6xz#I7QWGxW~eglqh5*jJEQ{8p$T1^;tLOj`lz2!9#13&C$m{yH4Gk; ztK6PgAdWU3E~5ihfg=a#| zLiLSGG(=95a;U%4F(4u4*3`~si+wC60!j!d@%qy_}%M%DL`1P5EJhKP?n{+0~@2JE6+im$=$g=a$tb`4j4> zNdFBsV8xS%J1%V{2*JVRcqVR6>M9|;V<@s%(e~2JhK8at-bHDJGNcg{U5zI?QYpLD zcbsd12FG^Gn4or9% zynV?T*kwrf>bn4~Z^RmVRur!vXR^);(la!~r$>5=LT{zF5&WiR6^SZm^ODrW?jS1D zophH(Zzm{D8sd}+o~Cz*ZR=4^@h*kl&9BRnMpsf-MS~ik_Y#8o)U@?SruWl565UN` z5sV7TA4pUUm=7FH|upZlQ3>m_4AM2re;)ArpM_#-|OGYGuYoK^fh{t_q>@g zjnMxJO4X7jelffRPudvgo%$<&iJ&C3sZ2_XC#-KVn|fb~QTTfWlL++vx|-H*Re73w zN}=!aH0MvKDb-X1^gTk&p$z9=Z))|{-TK$Qj;GciDD*?VE~_xLjuAskO`3MC^zz+0 zVVT9&*>5_6RHf=ENbfsyBcCv5W5Xq;!cs32Te^^59vwnwe&1q zkmzTG+L9y+{UiO{{w9_*Oui;;ZLmL5IW06-)Km@5G#qns;fzHdmFSm*<|5v1`W`d8 z;0>96LBCSy*YupVkI9HHz7546;vCT#)eMiB*>KO$fzA{U^{7nOpo16se^KbSyv~-H zTCX;x>YZ^z4bZ<5ylv^}F;4OC3jGKDj<=9@s1a7X>q_TDTpv_#nN%~QYLxG~Cg?vE z`Y-x#LRl(qn6XSko#tO4ybZC&7=Qdnh5kf;CIpSi5kq{1=BwD)5?_4i1%=krh5)_9 zm6}ecWCq40MuZJ6Ctvcc3iB{8p;92vGqyDkP+@`W_6fVZCAILtq*<69q7w5HE*Gg; zQ1?%!QU|nT##Hq}a~xm+{sA_gsn2L;y_Quok@^6W2~zz*HJh4=aJ?0Um2E8j6|0umGQx5pX@L?7zCyb=&2oj+ios$mHEB%9tcv!?^ekJYun@m3ji%Ii z=1`VU=sml{7rhEIuDe#!VkI`6)SOS|LF@4$JxN%(L?jS`nln)G`MZ>!oXD0mbbzqQ zor#t-63-@1r_60c@Jy#u65B+$mJ6|V4yGQ@82oc)c*yye>a6)Xwai#@d{P%HvToj6 zO00o!^(Edee$DxMC$XlY4P!~cF6tJ-1_z5n8Dlb=)pS!$bZ17jL^3n(qHHVL{>}5X z*LZ{4q&}+3td(7Cbe)HLqp&IZrgH651OR(7?-wh=a6;(+s8P_~`>yyfAS#xu%A zT&u9_ScFiKQKwvxTVMPyAvhXfJNW#hniEp_*0{ z9?-R{s+%(b)S?`ddw}gF_>-B0nlS@xAHg%D8WQVu#gY|iNB9Q| zU1s~yA+Z6%=2E&CVq?JHP~+)?VqY(_es%*l$w5Mmo&J(q*kZ>k1lz@i6n2Om=I-x! zXW_f%LcA?ITP0}WGfSZ0xgS$9+fRFBOt7O0&ah)VQ!XxCVwo3AXlaXY@!qYVO|g^l z{@5HNSnL)m;j*^vL45sIU}gPSrxbRs7r6vu%AF_NHV{vB{#%YxY)Y7be>b(xXJv>g z*H56@I1j7?!2_TYb@0Itf&_pefI7&o>oSB;?z*l(2vx4@WvJsnQ~^+jTG#y*sKYAP zbqIA>?YdrrI$Z9$UW+=cb6sD7I&5%VZ$uq7xvn>(4vntsCWO%9x^6`XVb}GQSd9R- zU@HjQ05pTZ|C92#`VmAQ5{KUjKn4SF4gBapySNJw|3!`cViK}91i6$e7c}aHM{`2 z;6*pe(1Tj+5fbVxE_gLw1Hg+q9LG%{)FOyDM!+ERwU8|}2A?=oZS`i~S$Kv$O@qVU z)p@9cd5q5svyO0s5U|2}0V((eOtnH3A&4|GV9zjMlHP>(<8A=;kZ}+07Sca} zdlyL`hgV1sH`!u@7PbN(%;EOtA|*U$aWan&yHv1DeiUsu<`N&q`|ZPr@o@o85T7V< z_#455_*G4L+~3mp=7 z1|NI?b~IJD<}u5KG~2i?voP&%aw*ZurA53UZ%Ynyp0hZc$2k|wD+I3${LoN`ELw33 zqR@pl+blUaZ$rLAcpeX_9r!BzV5q|t_#61)K`ScpHQWs^f_M^NU!?UkJR)qCd)k|t z^Z48QP}bDklE=5b?U#KXfJel+rOhN5ZiS2~RACy`xJ_u&WW8U|W_dxI<+e5q)p!cu zg$I8JaMQfNf20}2_e!AnIY@$EhlOI3SD3AtgVo>aIg9V-@xzl?bq3kt>K}VWfN~_q zXYmi`S{FiTDPJdGdOiHO9W{6ZF2@_O6>q}zc(dyO9fbpQ6b{gVp9nZ>(1xGlZuC;SmK=uXD9A8J#$( zB+XG3C-&!Q*}QwVp$x#=;Kdz~aVM7H?YIo@Km*>1EqD*w@m|F7KD-6*$GdTlK|SLo11=K`-7*t0)8yWZXq{v>IM4!<%UhT?QX6!xUXkYvD%&QdCdt zAfX+H=?aX1|2}va}@ljs!!2kW{_Kg_jfxy5MZdQ`Ze@DSRHEK@Oi4Rv5GJ zC|Kb!9Jj6T7;O{&3Oq(vi}3ehR@lP}1*e5Qc*cBC*u&2y3wubsdlAiIeEc#XE(L z7!kmFu@39#5FLiZ%|=J)M)(A&WxFNXS6+S*488@V zAPE=B5Tv7Y%!RzwWIQGMR3K)h(dIRIdR4^hu0J8KC_uiDuaH%jKa6N=4ZVhgc#{{W zP%a)8dJxNnFBdqRg&&Wj9OtkOPoNcFK|9W4FTN_UY8NRtR!FI_LQ0K^-iUXNF-njM z56ZEF#^4uNHPATjwh>amUPQa_x5*%ae607uyKDFQ8VUJ1=52yc{*UQ=(H6?h@EtL^*u!yAm#l z2Y*C`fOT;P%p;HwbJgzNqOT>72N(9)zeYKp!!rCvoYWd4stZ0{O%IATvm8G9EbazF zkUmGBw_8x2`nZ>0y2}^F&Cwma+hVS%>bI!J^Fp#UUpW5f>hS5W3i9>{&ju>(#+rLf z38sI54}Wwqtt|A>vfW1q`L7Ze`l6^BdG#Ivt_K{%)>g~3+5#>%>OJATb+Mxfcko6qdC$Xz3Pp6-thx=>j zOA&8t$eW|wNi>Rod^zH4K0}WWhkP~k#4P=F%N%{xgHtH$Z*CRg@(>6LcH;U%)!4*a zAo4;XKbDh(5Cw1r1<^z@c9Mb)D#u=0CJtm(jF>%{0WmTB^FBRBU#GtX!*VpzH|U!p zZ)~7%i7eQJ8hR9d_|O4K#EaE82f_Y;>m^)}5aiz|>@(kHJK9F)%-=b33U$3A^Zi}Z z9DSdx`9~x`ejYxxmlw_>#w@CZOe;`9E3tt>F8A0-KN4|WffYg%D~Cy7eG)FLK#-m; z=y3zjW&qZUfpY1wHcx*)A7^5iq&2vLE)!C%IcvR*SdgA6uMttX%l?3 z89{1r=`R=D+vm79{R92P<=&!YXAwxE8+e8y-qsxb^a=V!j{Yg)J44qD&(d%5w2?QP z)(WCINB>+y&*$jhPNK5e(_Gb-qu=M~553JHe-4MJB~Skokz7$yLoZtMUnCIng#tOc z$otqQ5jn$r!$Nwavpi&YM{TQAkHU=Fv3d^uKTv6y8Q=R)3)lw*}4Z;sWR!fIZ^ z&qabEFK?B+IkuuT$5w`d=ZbIetna~TJR&TgN4_xIoj@Hx&G1kwDya>tDU9`WC9b5a zu!FWBMq6>5wqb&ocrQtYd&@n6>KS|5{_Wug|c{*yUpV^E6w_>fuEt?q}=R z74Ts-J|Gr2e#9`&*3%Fq9LEieFTetL6dvKJR+lvb=_TxtSe3*eVb6;g7fsZ}MO45? zb~{VYN~}s0jV_7yT|^n=;zxY*Mf-q@JSrDF3PR>TlC(Wafsbuun^_~WtXcFZzk^5g zOE;Zit;0>TEZm!CTl!jZ?3(`88Wyc#J9DhPwT5-pux{&LdumuL$J)=Z{ll}YFXBDJ z`iDc_S#}`eYi;JPFvzWZB;x0P-5BzV7hP+xEl>dJL6G*Koc5xcVpv1_u!;8LO6tXR z)Q2wW$9@{XK{|jVWNopmY;}|9TlpgH2zwQKH3;PxWUpbz#T4JqZenqGa2+30+76~=$p8f#=(*h0o8rmay3wq;vJ;E+HNgoZ8Hwb@J|hNNUHy_N?{Gh$|B zaN0CoQo5ykX-k)M3+YDMCT-1<(m$Z5U;E$W(+UR%_>S<@9BAOD{N%L;7;n^ypu^c>SF9IBYbymF!> zXo=7z>~~dB<-BChu2^1ba3E>8)#r55t&~zlWfi>HU^QQH49~Q!YvMzNw!&Ilc;v3k$`nQW9kQab$) zv8M`7i~$CP@Qm%03{QBfK_(aLGO5+1-bK|=HbPp67aY4%PEIc@WfWrv89^^Qc22pj za58mqePthL#GfHJJEC&7V|ccc9k?LqrE2dB z$ws&8yGYP$Xt>^}l~>n%?sqn*&A_OC z{zQzEoD#y-<_@GX*f6{mKt|HDu(mkO(BX4-d z*@dz?qCA!JY$wJP7le(^R+Q`39}u2y6!U6?KhQz8h3EN{&I>|ny+Ose#EU}WWX`k8 z757xp$f;S|mq=l7{hlLC3xhQ&4W!Y`r>hS$W>M8hnNIpImQhj>^1|L3$1Wx3uU>Mh ze7NN6oSUqQU|^)~Zn9|3sbqhz+uPe8VMf?uJ9*{!>at|C=FkjuW>z?msu!!8GF=>7 z1E}BXYbl#RDEQNHMPq9wgrdfhsghElL>AMisVtgcjyqPq&yC1fr{xarRUUoXvkErJt9NeR(O zyW-^3G1LE&+fp|RR=yN>_@xx$hiuz(J;x|dC~wxzyHS45FLiz)Y+IqYY0cYnDl;B1 z(HEx~!`G~Z7{B7zLaWc?+LG|E`b29ttHzHTR=%j*?c=sRS1H$5yVgT>^?&H1FO>h^ zX4U0~->t7g&Fx{MSe!IHm2D66y0E#H(&~)i1L7y%B{6k}P5ZQNEz!Bi=JVZJ;v=>H zk7*AGO@+4JW$WZ!dROfZ`R~K`*$Mla2fMXJc6B$)J)Y1wKO7qQ^Kw{&L2#}3!L+e~ zF52j!o!!LQ&qj`rV4Q9)vLy(8H_d){WZ56&eu)D-9prz3gM6G2ZJg#A4xuql2ZuRA zGc6qDST#j?0i6hNQ~P`Cg!X{GsnF2miJ`=^i;O<0b!xBk$j~AaomyUhgAK!>p-`u` z$mz-9(8ygrxv#mq`5i94$z4gT_`ikff7s^zs-PwzG#`4${YQ`Z-04=NO>GAQgsqnKakg z%?Ki15(bT1!Nt0m-y5j7ADe(mxdBA-QzP&+-2(` zUpSvmTpvnYuU{Dqr6)tTm#NYfl)i%qo7h4pX}Z|S<{-l^nt&0$!dDR@4DvO;PE$PU zH|CmXJTx?5TRQR0dwjcz6N90V;YGfGllV|5o%m4@#i`J3&G%ldMb-N-E$pC!3_a{5 z$w-~|ZGrbDTIlA-TqYD?6hYo2snbV@p9H!5l%GKm@f(DAli%_C;OP(ikw4+LhOaYk K^B4X`_kRH2X=Eb+ diff --git a/server/-product/production/LOCAL/jobs/classes/user/jobengine/server/steps/MetadataType.class b/server/-product/production/LOCAL/jobs/classes/user/jobengine/server/steps/MetadataType.class deleted file mode 100644 index ae205ad2fb1601301b1a51bf24ae9e7290ddb146..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1320 zcmb7?YflqF6o%i^ZMzp%DCMGD6h)A>Tq+89X(bRuLoAnMfn?*SVHse_vP*WiB#l4D zzo6v#VYvhc5F7rP@t1 zRtRPy-w1=FfS@P1_?BRULQaj8rsnTLJq)Zq#?df-$8c1Q#nKa z6ulDer6u%97|2K%l<*)cVMxLwRl=}@5lzBqF8c#yD^2uTcDji^%g!`0XxZ5&hAdlc zV%V~^CPuAOjC}==LJ@$0lr*>o1tqyF{&b@!F*^Y;2FlRg;@}gh)lUwF(Imk zj!8@<@;PLrytj!l`-4)tu&cu5sxokn^2C=b8<*MW%7Ttr%q2NWNXh(0o=WF<@e}la OT?(&d&I+nBzWD?9Yb^x; diff --git a/server/-product/production/LOCAL/jobs/classes/user/jobengine/server/steps/MetadataTypeDetector$MetadataType.class b/server/-product/production/LOCAL/jobs/classes/user/jobengine/server/steps/MetadataTypeDetector$MetadataType.class deleted file mode 100644 index 488120eeabca17fe90ac9ba77367095c49b0c461..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1554 zcmbu8TTj$L6vzLE?rtwsz~!Q=ct>H^%ZiG(U2y@?5EsxCNE)ApGC)ab$+Szd@x%BP zba}vNG(P*GjG3WAW8#C^zMT0@d(QmNzjJ>6`tlvX1I+5^Av|lvTvT_Wbslc{A+N?< z>~m3#6TTN$7kR=qSi)A?d;A4YxR*p?EW4>AN9fyO`>YzUaH~2Wwsr~qD}rrq`raZ- zxbRs(c;4*lm>R)OYrYZDZbUFsoOwa8m%Sv~YsF3yi8i5_;+ueZd^-v@xFG1Sc*uqC z5qjsBRu{+CW}2(>4x#a`Yh^~=3;fVerU}|ad5w^pi#E7{yamFbjUfyZ3ib4pk%{Js zT}~qWaI3aZUNb>BVR$H!ZjO~gkA|ZZ1kcaR}(gD zoFeo${g5xUcGtOBVe0`W6q}L9f;A?5$!gPrhCxCu+4f^XVV?yp9usCK%H5h{;V$m! zm?R8jnr_Dl-?ecc4+tg`g0;P9uT7|Atyx~*;a*Z($hh@qYeAZQ{8LdO5u#|d7K@EZfV2rolRyQEb{MWO8fNIs#HGvS z2k~3bK4@1T`q+m)^b>V;b=^tOP_RqqY4+V`pMB1~=iWd6`R#Y$CPtWm;9AR-PUeZd zA+0Ubk{MSz&!m%aJ-O><%F@#}bx&`+*p+$dNyD?9Fd@N-C;Brz)6}i4Ol9MVG(17? z!b)|auqcR^-jj9DF|Dl`!Lgiext?x$%X+gVBSZyaQV`5n8WA*sm=Yvvh55pR>Z3+2 zJ2zL%m9vdPt(Ywp^ATc#;fLjy*I%t&o4m9B^46=h?BweD%j>Vk1o4BiY+ecCN>Dpm zFmzB*tyRhur5RG1>i=shxkjbBRIfKGwH2jF2qF*tqS9l6kxu4LRJD}N6&5O`e4(ad zM+C7>?4x&*u@6d?3$=Q&vRLr@IV(sU)K0dy;)dFS-n*t{db5Jy_{6dxl(RQwA3-i^ zoa4M8Rx&NQ*xK2UPD9^lN_9xKp*NRx$5gnp81lAFS1?`r)R~wO49vHr>vj)}V0QfQ zC`^2G@|ix;Ooq8CxM(|D8GTnbwq?e!cXn*cZ4Y02zLq?*>1s@o5rj?mep9!e3Wkny zUyX8|8)2pe;~(3l#!WsKgy*Ft9n%n`KBb4-+zIo=fh*IlTH{N<;2qsFwxz2IyQ}e) zvWhhv{qbYdDC?edOuebNdm3LWPU~=0$KJ6OabF{+h-in%=GAIJW6lq+7@ob`a_gS$ zyimk~Mo|&*4pD9DhTOKBo6->k%uT_ux~CgY%ld9-ECxKMWf{6B3(q}ixu$IiE+4hI zhflkY+f+2Fd?$z)w&m%jm@QzSXvg_9&X(}hO~A=E2@-~y0AAb_6KTR!{QFKG;X z0rYSQ(Aoi9<_ZvHoQaP3F9JTdp8A#4Yr?;9Z7&r+{)SsVnAuCk2lv73UMfDY53+ly z_^Ex6-%G`l`(S=A6(4;MR7N1^7d1-^h!f@{{R}e55DA94z$q?~V2aaBlVpYw?s0|% zMk#TYCC;(J`L1Tx`G#KLTfd=jzvh2LDN*k9_LL9-U^G=q|3M-h?|;MMYhvl3|66;* zaw+}3wm2bRi~yI2ahVaW_R9_W%F@ diff --git a/server/-product/production/LOCAL/jobs/classes/user/jobengine/server/steps/TSMRestoreStep$1.class b/server/-product/production/LOCAL/jobs/classes/user/jobengine/server/steps/TSMRestoreStep$1.class deleted file mode 100644 index 77dd877a91858f5559d2d1bd943f71e39fead4c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1303 zcma)*Pj3=Y6vclRuvnND+G_o;t;I?KJFRhtx@p>op=wIgjjI7}=rr)AnHh**%fxDQ z;RkTxM>1vxj8q|ER&Q?3J@4Fe&-?M~+jrm@PtzoXNd+jxkhM=l2_uMsZ z_)<73PQgzaxH<(p&b@Uar1reF&LiY3(p-&BOBVBFG9+2C$Z}0c79(h`?izj5?={sw zcA8xkmg`>2>7F>g8~u-psmL2)dy0TbVhg)fA$LCVdhgUR9c>Hc(ZG{7b7?Wvt&yGqSf9MxF$*mou_-LMrsZo-%@|dxSc^L3(m9z@7AyuRPk12-~w<#LL*qxcHBebefCfonR48lHOXG*5)mWU-U%wy@a|()vML z{ZNIU|0S#4v=6oII@S8$7t;uR*K}s8)Mjd%tT?iFKYq|NW%&KrRl_%36|9;u>hE=( zAkcs{ge1Zh68U_Ta>y@783z(T77JkkctL_BkSmohSS(d8$d|sb{4oYz2QqPkkYS%y zh#Mit4Q>L$EpCsf4oJk<#nLD8<80YC4vxtzX3?YZpr`v diff --git a/server/-product/production/LOCAL/jobs/classes/user/jobengine/server/steps/TSMRestoreStep$2.class b/server/-product/production/LOCAL/jobs/classes/user/jobengine/server/steps/TSMRestoreStep$2.class deleted file mode 100644 index a4332459bdcd1338641639445e53a9694dedf417..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1187 zcmb7DO>fgc5Pg%Fnz$|rZD`9^C=g1Lei&68kc_xQK?)?T)Koo`)5aO4TatCq2fXCRfks)lxnj`Nd?6T@h#h&J9 z#F3{BpK9-*)81!o!iYPDPs=+tEJEQ#jD$B3s_*S}PdG3(<_KFUP7n@a_xUg~A zK^A!zITQ%lN|KOoNyWSIu*=bb=nj~$*a`zNI24gg?vtREP$z6(pnrMCCoJexi2AWm zeeMyelL^ifZAvr0dgx#kH*8!d)MgjU#ZBBI%m+f%LuI6jIUV%KK?!R%?hwjF%cmU^N!6bz(wwR6{4F$J zgxyB^jr@OP?8nN;A^X)=Q?157$tSo?r8ue&gx0LF20|8uOQ1p_F)e@$fE*kU<^eoG zCXG0?jgN3^pK#@UnsXI^lfER?FR=)~1*Op?6af&fVR?cgCn&{@+6TC2Sa}OO`wo_M zhT92Vb_#D7OV~^CmQ(!V1P>_UKFT0G0I-70o{iFvgp3WcQA*BIGR}HR@F6MyEUco6 L&6F0U^Z@(>Fw8*1 diff --git a/server/-product/production/LOCAL/jobs/classes/user/jobengine/server/steps/TSMRestoreStep.class b/server/-product/production/LOCAL/jobs/classes/user/jobengine/server/steps/TSMRestoreStep.class deleted file mode 100644 index 59569e0978741e115419ff97d459bd0895ba460a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9183 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 + + + + + + diff --git a/server/-product/production/LOCAL/jobs/schedules.json b/server/-product/production/LOCAL/jobs/schedules.json index 5c6e7c21..8cd52ff7 100644 --- a/server/-product/production/LOCAL/jobs/schedules.json +++ b/server/-product/production/LOCAL/jobs/schedules.json @@ -1,5 +1,24 @@ {"joblist":[ { + "template": "remote-transcode.xml", + "parameters": [ + {"name": "remoteServer", "value": "http://localhost:9080", "type": "java.lang.String"}, + {"name": "transcodeTemplate", "value": "create-proxy-ffmpeg.xml", "type": "java.lang.String"}, + {"name": "jobName", "value": "Create proxy (slave process)", "type": "java.lang.String"}, + {"name": "profileName", "value": "proxy", "type": "java.lang.String"}, + {"name": "tempStoreName", "value": "LOCAL", "type": "java.lang.String"}, + {"name": "tempStoreProtocol", "value": "LOCAL", "type": "java.lang.String"} + ] + }, + { + "template": "create-proxy-ffmpeg.xml", + "parameters": [ + {"name": "input", "value": "c:/_video/in.mxf", "type": "java.lang.String"}, + {"name": "output", "value": "c:/_video/out.mp4", "type": "java.lang.String"}, + {"name": "profile", "value": "proxy", "type": "java.lang.String"} + ] + }, + { "template": "sync-subtitles.xml", "parameters": [ {"name": "sourceFolder", "value": "/windows", "type": "java.lang.String"}, diff --git a/server/-product/production/LOCAL/jobs/steps/CancelableStep.java b/server/-product/production/LOCAL/jobs/steps/CancelableStep.java index bee93c64..11e27c7c 100644 --- a/server/-product/production/LOCAL/jobs/steps/CancelableStep.java +++ b/server/-product/production/LOCAL/jobs/steps/CancelableStep.java @@ -29,7 +29,7 @@ public class CancelableStep extends JobStep { for (int i = 0; i < count; i++) { if (getJobRuntime().isWaitingCancel()) break; - Thread.sleep(500); + Thread.sleep(1000); /* if (param==0) throw new Exception(); diff --git a/server/-product/production/LOCAL/jobs/steps/ExternalCommand.java b/server/-product/production/LOCAL/jobs/steps/ExternalCommand.java new file mode 100644 index 00000000..307f36d0 --- /dev/null +++ b/server/-product/production/LOCAL/jobs/steps/ExternalCommand.java @@ -0,0 +1,79 @@ +package user.jobengine.server.steps.shared; + +import java.io.BufferedReader; +import java.io.InputStreamReader; +import java.util.ArrayList; +import java.util.List; + +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +public class ExternalCommand { + private static final Logger logger = LogManager.getLogger(); + private ExternalProfile profile; + + public ExternalCommand(ExternalProfile profile) { + this.profile = profile; + } + + public String execute(String input, String output, boolean firstResponse, IExternalCallback responseCallBack) throws Exception { + List arguments = getArguments(input, output); + List command = new ArrayList<>(); + command.add(profile.getExecutable()); + command.addAll(arguments); + + ProcessBuilder processBuilder = new ProcessBuilder(); + processBuilder.command(command); + + String result = null; + try { + logger.info("Executing : {}", processBuilder.command()); + + Process process = processBuilder.start(); + try (BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()))) { + String line = null; + while ((line = reader.readLine()) != null) { + logger.debug("Process response: {}", line); + if (responseCallBack != null) + responseCallBack.onResponse(line); + //System.out.println(line); + if (line != null && line.length() > 0) { + result = line; + if (firstResponse) + break; + } + } + int exitCode = process.waitFor(); + if (exitCode != 0) { + StringBuilder msg = new StringBuilder(); + try (BufferedReader errReader = new BufferedReader(new InputStreamReader(process.getErrorStream()))) { + String errline = null; + while ((errline = errReader.readLine()) != null) { + msg.append(errline); + } + } catch (Exception ex) { + } + + throw new Exception("Exited with error code : " + exitCode + ". " + msg); + } + } catch (Exception e) { + throw e; + } + } catch (Exception e) { + logger.error(e); + throw e; + } + + return result; + } + + private List getArguments(String input, String output) { + List result = new ArrayList<>(); + + profile.getArguments().forEach(i -> { + result.add(i.replace("%i", input).replace("%o", output)); + }); + return result; + } + +} \ No newline at end of file diff --git a/server/-product/production/LOCAL/jobs/steps/ExternalCommandExecutor.java b/server/-product/production/LOCAL/jobs/steps/ExternalCommandExecutor.java new file mode 100644 index 00000000..a34ff7f0 --- /dev/null +++ b/server/-product/production/LOCAL/jobs/steps/ExternalCommandExecutor.java @@ -0,0 +1,32 @@ +package user.jobengine.server.steps.shared; + +import user.commons.configuration.SystemConfiguration; + +public class ExternalCommandExecutor { + + public void execute(String profileName, String input, String output, IExternalCallback responseCallBack) throws Exception { + ExternalCommand externalCommand = getExternalCommand(profileName); + externalCommand.execute(input, output, false, responseCallBack); + } + + private ExternalCommand getExternalCommand(String profileName) throws Exception { + ExternalProfilesConfig config = SystemConfiguration.getInstance().load("settings/external-commands.yaml", ExternalProfilesConfig.class); + + if (config == null) + throw new Exception("Missing external-commands.yaml configuration"); + + ExternalProfile selectedProfile = null; + for (ExternalProfile profile : config.getProfiles()) { + if (profileName.equals(profile.getName())) { + selectedProfile = profile; + break; + } + } + + if (selectedProfile == null) + throw new Exception("Missing profile " + profileName + " in external-commands.yaml configuration"); + + return new ExternalCommand(selectedProfile); + } + +} diff --git a/server/-product/production/LOCAL/jobs/steps/ExternalProfile.java b/server/-product/production/LOCAL/jobs/steps/ExternalProfile.java new file mode 100644 index 00000000..68e22f4c --- /dev/null +++ b/server/-product/production/LOCAL/jobs/steps/ExternalProfile.java @@ -0,0 +1,33 @@ +package user.jobengine.server.steps.shared; + +import java.util.List; + +public class ExternalProfile { + private String executable; + private String name; + private List arguments; + + public List getArguments() { + return arguments; + } + + public String getExecutable() { + return executable; + } + + public String getName() { + return name; + } + + public void setArguments(List arguments) { + this.arguments = arguments; + } + + public void setExecutable(String executable) { + this.executable = executable; + } + + public void setName(String name) { + this.name = name; + } +} \ No newline at end of file diff --git a/server/-product/production/LOCAL/jobs/steps/ExternalProfilesConfig.java b/server/-product/production/LOCAL/jobs/steps/ExternalProfilesConfig.java new file mode 100644 index 00000000..7ef77291 --- /dev/null +++ b/server/-product/production/LOCAL/jobs/steps/ExternalProfilesConfig.java @@ -0,0 +1,15 @@ +package user.jobengine.server.steps.shared; + +import java.util.List; + +public class ExternalProfilesConfig { + private List profiles; + + public List getProfiles() { + return profiles; + } + + public void setProfiles(List profiles) { + this.profiles = profiles; + } +} \ No newline at end of file diff --git a/server/-product/production/LOCAL/jobs/steps/IExternalCallback.java b/server/-product/production/LOCAL/jobs/steps/IExternalCallback.java new file mode 100644 index 00000000..1e071913 --- /dev/null +++ b/server/-product/production/LOCAL/jobs/steps/IExternalCallback.java @@ -0,0 +1,5 @@ +package user.jobengine.server.steps.shared; + +public interface IExternalCallback { + void onResponse(String data); +} \ No newline at end of file diff --git a/server/-product/production/LOCAL/jobs/steps/MediaCubeClient.java b/server/-product/production/LOCAL/jobs/steps/MediaCubeClient.java new file mode 100644 index 00000000..840925e4 --- /dev/null +++ b/server/-product/production/LOCAL/jobs/steps/MediaCubeClient.java @@ -0,0 +1,77 @@ +package user.jobengine.server.steps; + +import javax.ws.rs.client.Entity; +import javax.ws.rs.client.Invocation.Builder; +import javax.ws.rs.core.MediaType; +import javax.ws.rs.core.MultivaluedMap; +import javax.ws.rs.core.Response; +import javax.ws.rs.core.Response.Status; + +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.jboss.resteasy.client.jaxrs.ResteasyClient; +import org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder; +import org.jboss.resteasy.client.jaxrs.ResteasyWebTarget; +import org.jboss.resteasy.specimpl.MultivaluedMapImpl; + +import com.ibm.nosql.json.JSONUtil; +import com.ibm.nosql.json.api.BasicDBObject; + +public class MediaCubeClient { + private static Logger logger = LogManager.getLogger(); + private ResteasyWebTarget webTarget; + + public MediaCubeClient(String address) { + ResteasyClient client = new ResteasyClientBuilder().build(); + webTarget = client.target(address); + } + + BasicDBObject getDbObject(String json) { + BasicDBObject result = (BasicDBObject) JSONUtil.jsonToDbObject(json); + + if (result == null) + throw new NullPointerException("API Result is null!"); + + if (result.containsKey("exception")) { + BasicDBObject e = (BasicDBObject) result.get("exception"); + throw new RuntimeException(e.getString("message")); + } + //{"exception":{"message":"Invalid credentials.","publicName":"AuthenticationFailedException"}} + return result; + } + + public BasicDBObject getStatus(long jobId) { + MultivaluedMap vars = new MultivaluedMapImpl<>(); + vars.add("jobId", jobId); + Response response = query("services/rest/jobengine/jobstatus", vars).get(); + if (response.getStatus() != Status.OK.getStatusCode()) { + logger.error(response.readEntity(String.class)); + System.out.println(response.readEntity(String.class)); + return null; + } + String result = response.readEntity(String.class); + return getDbObject(result); + } + + private Builder query(String path, MultivaluedMap vars) { + ResteasyWebTarget target = webTarget.path(path).queryParams(vars); + Builder result = target.request(); + return result; + } + + public long startjob(String template, String name, BasicDBObject jobParams) throws Exception { + MultivaluedMap vars = new MultivaluedMapImpl<>(); + vars.add("template", template); + vars.add("name", name); + Response response = query("services/rest/jobengine/startjob", vars).post(Entity.entity(jobParams.toString(), MediaType.APPLICATION_JSON)); + + if (response.getStatus() != Status.OK.getStatusCode()) { + logger.error(response.readEntity(String.class)); + return 0; + } + + String resultObject = response.readEntity(String.class); + return Long.parseLong(resultObject); + } + +} diff --git a/server/-product/production/LOCAL/jobs/steps/PrepareRemoteTranscodeJobParametersStep.java b/server/-product/production/LOCAL/jobs/steps/PrepareRemoteTranscodeJobParametersStep.java new file mode 100644 index 00000000..37306e60 --- /dev/null +++ b/server/-product/production/LOCAL/jobs/steps/PrepareRemoteTranscodeJobParametersStep.java @@ -0,0 +1,20 @@ +package user.jobengine.server.steps; + +import java.nio.file.Paths; + +import com.ibm.nosql.json.api.BasicDBObject; + +public class PrepareRemoteTranscodeJobParametersStep extends JobStep { + @StepEntry + public Object[] execute(String profileName, String fileName) throws Exception { + String transcoderInputDir = "m:\"; + String transcoderOutputDir = "m:\"; + String outFileName = fileName.substring(0, fileName.lastIndexOf(".")) + ".mp4"; + BasicDBObject parameters = new BasicDBObject(); + parameters.put("profile", profileName); + parameters.put("input", Paths.get(transcoderInputDir, fileName)); + parameters.put("output", Paths.get(transcoderOutputDir, outFileName)); + return new Object[] { parameters }; + } + +} diff --git a/server/-product/production/LOCAL/jobs/steps/QueryMissingProxyMediaStep.java b/server/-product/production/LOCAL/jobs/steps/QueryMissingProxyMediaStep.java new file mode 100644 index 00000000..9e8d1949 --- /dev/null +++ b/server/-product/production/LOCAL/jobs/steps/QueryMissingProxyMediaStep.java @@ -0,0 +1,76 @@ +package user.jobengine.server.steps; + +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +import com.ibm.nosql.json.api.BasicDBObject; +import com.ibm.nosql.json.api.DB; +import com.ibm.nosql.json.api.DBCollection; + +import user.commons.MediaCubeUndoMarker; +import user.commons.nosql.NoSQLUtils; +import user.jobengine.db.IItemManager; +import user.jobengine.db.Media; + +public class QueryMissingProxyMediaStep extends JobStep { + private static final Logger logger = LogManager.getLogger(); + + @StepEntry + public Object[] execute() throws Exception { + Object[] result = new Object[] { null }; + DB db = NoSQLUtils.getNoSQLDB(); + DBCollection collection = db.getCollection("missing_lowres"); + Media media = getFirstUntranscodedMedia(collection); + + try { + if (media == null) { + logger.info(new MediaCubeUndoMarker(getSessionMarker().getSessionID()), "Nincs feldolgozandó hiány."); + // throw new Exception("Nincs feldolgozandó hiány."); + cancel(); + return null; + } + + String name = media.getMediaFileRealName(); + collection.save(new BasicDBObject("name", name)); + logger.info(getSessionMarker(), "Processing mediaID: {}", media.getId()); + result[0] = media; + } catch (Exception e) { + logger.catching(e); + logger.error(getSessionMarker(), e.getMessage()); + throw e; + } finally { + setProgress(100); + } + return result; + } + + private Media getFirstUntranscodedMedia(DBCollection collection) { + Media[] result = new Media[] { null }; + //MV + String query = "SELECT mediaid FROM VW_MISSING_PROXY_IDS WHERE HOUSEID like 'M%' or HOUSEID like 'P%' or HOUSEID like 'R%' ORDER BY modified DESC"; + + //HTV + //String query = "SELECT mediaid FROM VW_MISSING_PROXY_IDS"; + IItemManager manager = getManager(); + manager.executeQuery(query, rs -> { + try { + long mediaId = rs.getLong(1); + Media media = manager.getMedia(mediaId); + //a nevgeneralas miatt az eredeti MediaFilesName nem jo, a pontos nev kell nekunk + String name = media.getMediaFileRealName(); + logger.info(getSessionMarker(), "Checking {}", name); + long existing = collection.find(new BasicDBObject("name", name)).count(); + if (existing > 0) { + logger.info(getSessionMarker(), "{} is on missing_lowres list", name); + return true; + } + + result[0] = media; + } catch (Exception e) { + logger.error(e); + } + return false; + }, null); + return result[0]; + } +} diff --git a/server/-product/production/LOCAL/jobs/steps/RemoteJobStep.java b/server/-product/production/LOCAL/jobs/steps/RemoteJobStep.java new file mode 100644 index 00000000..8e022f43 --- /dev/null +++ b/server/-product/production/LOCAL/jobs/steps/RemoteJobStep.java @@ -0,0 +1,43 @@ +package user.jobengine.server.steps; + +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +import com.ibm.nosql.json.api.BasicDBObject; + +/* +import user.jobengine.server.steps.MediaCubeClient; +*/ +public class RemoteJobStep extends JobStep { + private static final Logger logger = LogManager.getLogger(); + + @StepEntry + public Object[] execute(String server, String template, String name, String profile) throws Exception { + try { + MediaCubeClient mc = new MediaCubeClient(server); + BasicDBObject params = new BasicDBObject(); + params.put("profile", profile); + params.put("input", "c:/_workspace/data/video/proba1.mxf"); + params.put("output", "c:/_video/proba1.mp4"); + + long jobId = mc.startjob(template, name, params); + logger.info(getMarker(), "Started {} on server {}", jobId, server); + while (true) { + BasicDBObject status = mc.getStatus(jobId); + if (status != null) + setProgress(status.getInt("progress")); + + String jobStatus = status.getString("status"); + if ("SUSPENDED".equals(jobStatus)) + throw new Exception(status.getString("description")); + + if ("FINISHED".equals(jobStatus)) + break; + } + + } catch (Exception e) { + throw e; + } + return new Object[] { null }; + } +} diff --git a/server/-product/production/LOCAL/jobs/steps/TranscodeFFMpegStep.java b/server/-product/production/LOCAL/jobs/steps/TranscodeFFMpegStep.java new file mode 100644 index 00000000..4033b8e3 --- /dev/null +++ b/server/-product/production/LOCAL/jobs/steps/TranscodeFFMpegStep.java @@ -0,0 +1,52 @@ +package user.jobengine.server.steps; + +/* +import user.jobengine.server.steps.shared.IExternalCallback; +import user.jobengine.server.steps.shared.ExternalProfile; +import user.jobengine.server.steps.shared.ExternalProfilesConfig; +import user.jobengine.server.steps.shared.ExternalCommand; +import user.jobengine.server.steps.shared.ExternalCommandExecutor; + */ + +import java.nio.file.Paths; + +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +import user.commons.mediaarea.MediaArea; +import user.jobengine.server.steps.shared.ExternalCommandExecutor; +import user.jobengine.server.steps.shared.IExternalCallback; + +public class TranscodeFFMpegStep extends JobStep implements IExternalCallback { + private static final Logger logger = LogManager.getLogger(); + private long allFrameCount; + private long processedFrameCount; + + @StepEntry + public Object[] execute(String input, String output, String profile) throws Exception { + try { + MediaArea ma = new MediaArea(Paths.get(input)); + ma.process(); + allFrameCount = ma.getFrameCount(); + + ExternalCommandExecutor executor = new ExternalCommandExecutor(); + executor.execute(profile, input, output, this); + } catch (Exception e) { + logger.error(getMarker(), "Media information not available. System message: {}", e.getMessage()); + throw e; + } + return null; + } + + @Override + public void onResponse(String line) { + String[] values = line.split("="); + if ("frame".equals(values[0])) { + processedFrameCount = Integer.parseInt(values[1]); + int progress = (int) (processedFrameCount * 100 / allFrameCount); + if (progress > 0) + setProgress(progress); + } + } + +} diff --git a/server/-product/production/LOCAL/jobs/templates/create-proxy-ffmpeg.xml b/server/-product/production/LOCAL/jobs/templates/create-proxy-ffmpeg.xml new file mode 100644 index 00000000..acb2cb62 --- /dev/null +++ b/server/-product/production/LOCAL/jobs/templates/create-proxy-ffmpeg.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/server/-product/production/LOCAL/jobs/templates/remote-transcode.xml b/server/-product/production/LOCAL/jobs/templates/remote-transcode.xml new file mode 100644 index 00000000..ce4c77b7 --- /dev/null +++ b/server/-product/production/LOCAL/jobs/templates/remote-transcode.xml @@ -0,0 +1,111 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/server/-product/production/LOCAL/jobs/templates/template1.yaml b/server/-product/production/LOCAL/jobs/templates/template1.yaml deleted file mode 100644 index 4459b9fa..00000000 --- a/server/-product/production/LOCAL/jobs/templates/template1.yaml +++ /dev/null @@ -1,28 +0,0 @@ -jobtemplate: - multiInstance: true - useSessionLog: true - declarations: - parameters: - - name: param1 - type: java.lang.Integer - - name: param1 - type: java.lang.Integer - variables: - - name: var1 - type: java.lang.Integer - - name: var1 - type: java.lang.Integer - commands: - - type: Step1.java - weight: 1 - inputs: - - name: param1 - - name: param2 - outputs: - - name: var1 - - name: var2 - - type: StepS.java - weight: 1 - inputs: - - name: var1 - - name: var2 diff --git a/server/-product/production/LOCAL/mediacube.bat b/server/-product/production/LOCAL/mediacube.bat index 099f5aee..24a39d6c 100644 --- a/server/-product/production/LOCAL/mediacube.bat +++ b/server/-product/production/LOCAL/mediacube.bat @@ -11,7 +11,7 @@ java ^ -Djava.io.tmpdir=tmp ^ -Dfile.encoding=UTF-8 ^ -Dgosh.home=configuration ^ --jar plugins/org.eclipse.equinox.launcher_1.3.201.v20161025-1711.jar ^ +-jar ../../target/products/MediaCube/linux/gtk/x86_64/plugins/org.eclipse.equinox.launcher_1.3.201.v20161025-1711.jar ^ -Xms512m ^ -Xmx1024m ^ -console diff --git a/server/-product/production/LOCAL/settings/application-htv.yaml b/server/-product/production/LOCAL/settings/application-htv.yaml new file mode 100644 index 00000000..3dbde683 --- /dev/null +++ b/server/-product/production/LOCAL/settings/application-htv.yaml @@ -0,0 +1,57 @@ +datasource: + mediacube: +# url: jdbc:db2://10.11.1.90:50000/mc +# user: db2admin +# password: password + url: jdbc:db2://192.168.100.2:50000/mc + user: db2inst1 + password: password +# url: jdbc:db2://10.10.1.27:50000/mc +# user: db2admin +# password: password + external-indexer: false + simple-search: true + login-timeout: 3 + pool-size: 10 + mediacube-nosql: +# url: jdbc:db2://10.11.1.90:50000/mc +# user: db2admin +# password: password + url: jdbc:db2://192.168.100.2:50000/mc + user: db2inst1 + password: password +# url: jdbc:db2://10.10.1.27:50000/mc +# user: db2admin +# password: password + schema: test + login-timeout: 3 + hsm: + url: jdbc:db2://10.11.1.89:51500/tsmdb1 + user: tsminst1 + password: tsminst1 + planair: + url: jdbc:sqlserver://10.11.254.86;databaseName=PA_Vivantis; + user: MAM + password: VDani +services: + ffmpeg: + execurable-location: /opt/ffmpeg/ffmpeg + mediacube: + proxy-root: /mediacube/data/lowres + nexio: +# host: 10.10.1.55 +# collection-name: nexioclips +# use-mos-gateway: true + disabled: true +jobs: + validate-transfers: false + copy-buffer-size: 32768 + scheduled-execution-disabled: true +tsm: + randomize-archives: false + delimiter: / + node-name: JOBENGINE + fs-name: /JOBENGINE + alternate-fs-name: /JOBENGINE + hl-name: /JOBENGINE + \ No newline at end of file diff --git a/server/-product/production/LOCAL/settings/application-local.yaml b/server/-product/production/LOCAL/settings/application-local.yaml new file mode 100644 index 00000000..8a94fef7 --- /dev/null +++ b/server/-product/production/LOCAL/settings/application-local.yaml @@ -0,0 +1,45 @@ +datasource: + mediacube: + url: jdbc:db2://10.11.1.90:50000/mc + user: db2admin + password: password + external-indexer: false + simple-search: true + login-timeout: 3 + pool-size: 10 + mediacube-nosql: + url: jdbc:db2://10.11.1.90:50000/mc + user: db2admin + password: password + schema: test + login-timeout: 3 + hsm: + url: jdbc:db2://10.11.1.89:51500/tsmdb1 + user: tsminst1 + password: tsminst1 + planair: + url: jdbc:sqlserver://10.11.254.86;databaseName=PA_Vivantis; + user: MAM + password: VDani +services: + ffmpeg: + execurable-location: /opt/ffmpeg/ffmpeg + mediacube: + proxy-root: /mediacube/data/lowres + nexio: +# host: 10.10.1.55 +# collection-name: nexioclips +# use-mos-gateway: true + disabled: true +jobs: + validate-transfers: false + copy-buffer-size: 32768 + scheduled-execution-disabled: true +tsm: + randomize-archives: false + delimiter: / + node-name: JOBENGINE + fs-name: /JOBENGINE + alternate-fs-name: /JOBENGINE + hl-name: /JOBENGINE + \ No newline at end of file diff --git a/server/-product/production/LOCAL/settings/application.yaml b/server/-product/production/LOCAL/settings/application.yaml index d2573c76..8a94fef7 100644 --- a/server/-product/production/LOCAL/settings/application.yaml +++ b/server/-product/production/LOCAL/settings/application.yaml @@ -1,22 +1,16 @@ datasource: mediacube: - url: jdbc:db2://192.168.100.2:50000/mc - user: db2inst1 + url: jdbc:db2://10.11.1.90:50000/mc + user: db2admin password: password -# url: jdbc:db2://10.10.1.27:50000/mc -# user: db2admin -# password: password external-indexer: false simple-search: true login-timeout: 3 pool-size: 10 mediacube-nosql: - url: jdbc:db2://192.168.100.2:50000/mc - user: db2inst1 + url: jdbc:db2://10.11.1.90:50000/mc + user: db2admin password: password -# url: jdbc:db2://10.10.1.27:50000/mc -# user: db2admin -# password: password schema: test login-timeout: 3 hsm: @@ -33,9 +27,9 @@ services: mediacube: proxy-root: /mediacube/data/lowres nexio: - host: 10.10.1.55 - collection-name: nexioclips - use-mos-gateway: true +# host: 10.10.1.55 +# collection-name: nexioclips +# use-mos-gateway: true disabled: true jobs: validate-transfers: false diff --git a/server/-product/production/LOCAL/settings/external-commands.yaml b/server/-product/production/LOCAL/settings/external-commands.yaml new file mode 100644 index 00000000..5fc2f7e8 --- /dev/null +++ b/server/-product/production/LOCAL/settings/external-commands.yaml @@ -0,0 +1,27 @@ +profiles: +- + name: proxy + executable: /Programs/ffmpeg/bin/ffmpeg.exe + arguments: + - -y + - -v + - error + - -progress + - pipe:1 + - -i + - "%i" + - "%o" +- + name: length + executable: /Programs/ffmpeg/bin/ffprobe.exe + arguments: + - -v + - error + - -select_streams + - v:0 + - -show_entries + - stream=nb_frames + - -of + - default=noprint_wrappers=1:nokey=1 + - "%i" + \ No newline at end of file diff --git a/server/-product/production/LOCAL/settings/ffmpeg.yaml b/server/-product/production/LOCAL/settings/ffmpeg.yaml deleted file mode 100644 index 94a90ca5..00000000 --- a/server/-product/production/LOCAL/settings/ffmpeg.yaml +++ /dev/null @@ -1,14 +0,0 @@ -location: /Programs/ffmpeg/bin/ffmpeg.exe -default: - - -v panic - - -stats - - -y -profiles: -- name: profile1 - settings: - - setting1 - - setting2 -- name: profile2 - settings: - - setting3 - - setting4 diff --git a/server/-product/production/MEDIAVIVANTIS/jobs/classes/user/jobengine/server/steps/EscortFiles.class b/server/-product/production/MEDIAVIVANTIS/jobs/classes/user/jobengine/server/steps/EscortFiles.class deleted file mode 100644 index 181784cfd04cd790b37b7b3bb752d45400ee9fcb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14968 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 K^B4X`_kRH2X=Eb+ diff --git a/server/-product/production/MEDIAVIVANTIS/jobs/classes/user/jobengine/server/steps/MetadataType.class b/server/-product/production/MEDIAVIVANTIS/jobs/classes/user/jobengine/server/steps/MetadataType.class deleted file mode 100644 index ae205ad2fb1601301b1a51bf24ae9e7290ddb146..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1320 zcmb7?YflqF6o%i^ZMzp%DCMGD6h)A>Tq+89X(bRuLoAnMfn?*SVHse_vP*WiB#l4D zzo6v#VYvhc5F7rP@t1 zRtRPy-w1=FfS@P1_?BRULQaj8rsnTLJq)Zq#?df-$8c1Q#nKa z6ulDer6u%97|2K%l<*)cVMxLwRl=}@5lzBqF8c#yD^2uTcDji^%g!`0XxZ5&hAdlc zV%V~^CPuAOjC}==LJ@$0lr*>o1tqyF{&b@!F*^Y;2FlRg;@}gh)lUwF(Imk zj!8@<@;PLrytj!l`-4)tu&cu5sxokn^2C=b8<*MW%7Ttr%q2NWNXh(0o=WF<@e}la OT?(&d&I+nBzWD?9Yb^x; diff --git a/server/-product/production/MEDIAVIVANTIS/jobs/classes/user/jobengine/server/steps/MetadataTypeDetector$MetadataType.class b/server/-product/production/MEDIAVIVANTIS/jobs/classes/user/jobengine/server/steps/MetadataTypeDetector$MetadataType.class deleted file mode 100644 index 488120eeabca17fe90ac9ba77367095c49b0c461..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1554 zcmbu8TTj$L6vzLE?rtwsz~!Q=ct>H^%ZiG(U2y@?5EsxCNE)ApGC)ab$+Szd@x%BP zba}vNG(P*GjG3WAW8#C^zMT0@d(QmNzjJ>6`tlvX1I+5^Av|lvTvT_Wbslc{A+N?< z>~m3#6TTN$7kR=qSi)A?d;A4YxR*p?EW4>AN9fyO`>YzUaH~2Wwsr~qD}rrq`raZ- zxbRs(c;4*lm>R)OYrYZDZbUFsoOwa8m%Sv~YsF3yi8i5_;+ueZd^-v@xFG1Sc*uqC z5qjsBRu{+CW}2(>4x#a`Yh^~=3;fVerU}|ad5w^pi#E7{yamFbjUfyZ3ib4pk%{Js zT}~qWaI3aZUNb>BVR$H!ZjO~gkA|ZZ1kcaR}(gD zoFeo${g5xUcGtOBVe0`W6q}L9f;A?5$!gPrhCxCu+4f^XVV?yp9usCK%H5h{;V$m! zm?R8jnr_Dl-?ecc4+tg`g0;P9uT7|Atyx~*;a*Z($hh@qYeAZQ{8LdO5u#|d7K@EZfV2rolRyQEb{MWO8fNIs#HGvS z2k~3bK4@1T`q+m)^b>V;b=^tOP_RqqY4+V`pMB1~=iWd6`R#Y$CPtWm;9AR-PUeZd zA+0Ubk{MSz&!m%aJ-O><%F@#}bx&`+*p+$dNyD?9Fd@N-C;Brz)6}i4Ol9MVG(17? z!b)|auqcR^-jj9DF|Dl`!Lgiext?x$%X+gVBSZyaQV`5n8WA*sm=Yvvh55pR>Z3+2 zJ2zL%m9vdPt(Ywp^ATc#;fLjy*I%t&o4m9B^46=h?BweD%j>Vk1o4BiY+ecCN>Dpm zFmzB*tyRhur5RG1>i=shxkjbBRIfKGwH2jF2qF*tqS9l6kxu4LRJD}N6&5O`e4(ad zM+C7>?4x&*u@6d?3$=Q&vRLr@IV(sU)K0dy;)dFS-n*t{db5Jy_{6dxl(RQwA3-i^ zoa4M8Rx&NQ*xK2UPD9^lN_9xKp*NRx$5gnp81lAFS1?`r)R~wO49vHr>vj)}V0QfQ zC`^2G@|ix;Ooq8CxM(|D8GTnbwq?e!cXn*cZ4Y02zLq?*>1s@o5rj?mep9!e3Wkny zUyX8|8)2pe;~(3l#!WsKgy*Ft9n%n`KBb4-+zIo=fh*IlTH{N<;2qsFwxz2IyQ}e) zvWhhv{qbYdDC?edOuebNdm3LWPU~=0$KJ6OabF{+h-in%=GAIJW6lq+7@ob`a_gS$ zyimk~Mo|&*4pD9DhTOKBo6->k%uT_ux~CgY%ld9-ECxKMWf{6B3(q}ixu$IiE+4hI zhflkY+f+2Fd?$z)w&m%jm@QzSXvg_9&X(}hO~A=E2@-~y0AAb_6KTR!{QFKG;X z0rYSQ(Aoi9<_ZvHoQaP3F9JTdp8A#4Yr?;9Z7&r+{)SsVnAuCk2lv73UMfDY53+ly z_^Ex6-%G`l`(S=A6(4;MR7N1^7d1-^h!f@{{R}e55DA94z$q?~V2aaBlVpYw?s0|% zMk#TYCC;(J`L1Tx`G#KLTfd=jzvh2LDN*k9_LL9-U^G=q|3M-h?|;MMYhvl3|66;* zaw+}3wm2bRi~yI2ahVaW_R9_W%F@ diff --git a/server/-product/production/MEDIAVIVANTIS/jobs/classes/user/jobengine/server/steps/TSMRestoreStep$1.class b/server/-product/production/MEDIAVIVANTIS/jobs/classes/user/jobengine/server/steps/TSMRestoreStep$1.class deleted file mode 100644 index 77dd877a91858f5559d2d1bd943f71e39fead4c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1303 zcma)*Pj3=Y6vclRuvnND+G_o;t;I?KJFRhtx@p>op=wIgjjI7}=rr)AnHh**%fxDQ z;RkTxM>1vxj8q|ER&Q?3J@4Fe&-?M~+jrm@PtzoXNd+jxkhM=l2_uMsZ z_)<73PQgzaxH<(p&b@Uar1reF&LiY3(p-&BOBVBFG9+2C$Z}0c79(h`?izj5?={sw zcA8xkmg`>2>7F>g8~u-psmL2)dy0TbVhg)fA$LCVdhgUR9c>Hc(ZG{7b7?Wvt&yGqSf9MxF$*mou_-LMrsZo-%@|dxSc^L3(m9z@7AyuRPk12-~w<#LL*qxcHBebefCfonR48lHOXG*5)mWU-U%wy@a|()vML z{ZNIU|0S#4v=6oII@S8$7t;uR*K}s8)Mjd%tT?iFKYq|NW%&KrRl_%36|9;u>hE=( zAkcs{ge1Zh68U_Ta>y@783z(T77JkkctL_BkSmohSS(d8$d|sb{4oYz2QqPkkYS%y zh#Mit4Q>L$EpCsf4oJk<#nLD8<80YC4vxtzX3?YZpr`v diff --git a/server/-product/production/MEDIAVIVANTIS/jobs/classes/user/jobengine/server/steps/TSMRestoreStep$2.class b/server/-product/production/MEDIAVIVANTIS/jobs/classes/user/jobengine/server/steps/TSMRestoreStep$2.class deleted file mode 100644 index a4332459bdcd1338641639445e53a9694dedf417..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1187 zcmb7DO>fgc5Pg%Fnz$|rZD`9^C=g1Lei&68kc_xQK?)?T)Koo`)5aO4TatCq2fXCRfks)lxnj`Nd?6T@h#h&J9 z#F3{BpK9-*)81!o!iYPDPs=+tEJEQ#jD$B3s_*S}PdG3(<_KFUP7n@a_xUg~A zK^A!zITQ%lN|KOoNyWSIu*=bb=nj~$*a`zNI24gg?vtREP$z6(pnrMCCoJexi2AWm zeeMyelL^ifZAvr0dgx#kH*8!d)MgjU#ZBBI%m+f%LuI6jIUV%KK?!R%?hwjF%cmU^N!6bz(wwR6{4F$J zgxyB^jr@OP?8nN;A^X)=Q?157$tSo?r8ue&gx0LF20|8uOQ1p_F)e@$fE*kU<^eoG zCXG0?jgN3^pK#@UnsXI^lfER?FR=)~1*Op?6af&fVR?cgCn&{@+6TC2Sa}OO`wo_M zhT92Vb_#D7OV~^CmQ(!V1P>_UKFT0G0I-70o{iFvgp3WcQA*BIGR}HR@F6MyEUco6 L&6F0U^Z@(>Fw8*1 diff --git a/server/-product/production/MEDIAVIVANTIS/jobs/classes/user/jobengine/server/steps/TSMRestoreStep.class b/server/-product/production/MEDIAVIVANTIS/jobs/classes/user/jobengine/server/steps/TSMRestoreStep.class deleted file mode 100644 index 59569e0978741e115419ff97d459bd0895ba460a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9183 zcmb_h3wRvWb^ecbrP;^mVHq1Q#&|5-thAD~*cfAL{Xmv%kdbVol?5^+WOnyzHPY;i zGBYbI5okgZ0wgJM2nhj7abMJJ(>TVKEgm7MN}#k!n!eJsX_`LMhLqAa^aaKF?w#G$ zYIpTWzWVd`?abVB&pprooO|@zyU%?Yz;-$=p^6a6+RTcMnh9p4HG@TMW=$|FYCCM) zjt<28`kC#R7K=MbRO5VNw23Gt&Hb`)IUR zki-a5Mm1DHt@M^~PbH!~Jr2wCxfC&i-%+hJbBFltYVT8usQFTI%>Z*~B#vMyD(lJ6!MzzM4kho8f#0b9KNnJBEXD`9i z+%ib;c9|&_z-3r1VHIKHVoK+9k#RZJ5d3N8xRxMnY;IZ7Tz(L)kWq~qLVd4hu*2C* zf>{Gu*0leL=g5h zFJS+2`}UN7;${mRIFV%Ij%FIRgsTZFg<~``+H<6^BB43IAUsxB;FgHUs6%}KZD^OU zg%B=@pLzNmu#=|c@Hnt#L~#vaMbcub!;T&9x>?ipZq;Fgp5}5{%fIw2?5JFn2>sk( zJ*qk*1bHlXMz=a?6R3w!=dRC%W^LS2lVg4Ac+PdT2{vq6tYGrC<(r(JpHG(l9zuO` zgeAuYME1A>t*W4D%U}Szu~)*L`B9wDv7)3o=4iStV;^oHNSeK0SB){M%=EYq`w7=} zD#NBesb*A13C~$3tRz^58O+g?an({Yv!@+qF=h4zi`nf#bmO3e1BCU98 z*3wyvrIc~Y9A}n3**0HE%^1%*u7=EEmXgtITQkz_0rcQ7PsR6x9Pq6Of$=a88=Aj+( z4a0O)fwYA10_VC#pI7h$hGR{}f=D1GAxYR!;=3HKazS(F$Y2;IG^CjmXSS`GhKqws zRJ9yf20$2*p<$E|w3*Xsq`Ej<5$^y0c1)46a>aiEYZQ5bS zFb+$?`{xn4{AJj12sOi|l~EnSt_rYQ!G$g5f=ZYmte=;=86KjJY3k7dEyI$c3ps%) z36q4&OPrQUxDhSmZhRouc`zf*Ym=wB<&You;)4=?j<9KoBQ_08jx!k_!hHnKQ4R`M z&j*Easl=9809ky5W8Fsyk>*3o+tf1X!^a5HW?O0AY`1V856XB5A1C-6)3q_-vgQf~ z;{p6h89&dlwa#WvH?xzLCK?Xzx=+dQBfw+t(=vA8dj9P*GJ*(5_-q~}=a6?^Gcmt4 z-n2Dtf+oNb$h{p1?0ic#^Pco^$dzDdQ>pB4MSPN*%S#w8d<@ zSF;^v@RoM_A`se>CqFR33@5)wMEt3r&IH>6cpAUVP4Fv(=uc$=SHEAA@eF>QutH6x z;*RQMi&WUQmi<<+g2 zyoHMe@Y^^e;fwix)zHl7u%@#p@3(9jU&2{}C(Rr}YzYu3oF$H*$0!!WIZR79PiQP( zm2m+V-Q+&1TFh_=tMjQ*&gMamThGgQ0WT6Hi;e4Qk`cO#rRy3|tvGvsmKjM_Y@m7H zDEFwwYpUW6WZhjRBl0fg~;GG60=7)UdxkJ+}GW&!*Gz9Hf3rHIjM z<~w&A-z3~p?CM<9Rjft}w%-}|ylC#+7;o9X#k=u8A{<_ZiI>f|WstM}6B&PsKO^{( zs*@bij5J|Qu?_u zCX>vz`&m*O*F-+8(D^01pE;JsCOG8?p)swSiPDe$(R?3AXevFosD;Y)dW67ep`Rjb zTx3VSFz^zXtNVP`GOsk07h&Gs>7PGUuQ?O0`UQmQ=ys;As7T+I< z5mpsNf8l}@BX}})nh;sOb0z!>K`H52%4|ef!5d65+?l&IA1o_21*ewUFqLq@z7k*s za034(I4iIR%HA){)gbx9A>Ew zzl;_TSkUz3zQ=-i8~-Qaojj1wTb1!HE)l#2JK>bJH#y{yhzM&-Y?fD@3mzblM- z6MWood_qQ8+nlRmbG=Q$E&-CrFOjce`zZFy6yWV+b(%RnDSm=1Q!NLd`ZRO;nXWpT zn-xL4P4zN0&CcQ49lZ_Gz)2`!ydg;B;Bn_~LQCl!m&Ez*j?G78gYPg^6* zdHH0!kJb^|dieanP<2HNC))CNf2DBGQ!F;jEM8&TgZL4xmr0=wggS2Hx$!5VsiNoR zjY$0<+9*SU&qtdHt({Yfno^y_?5QcuUP{<7p?x7?iv%eW*GDac>x(Bl^AUH^>5h+D z3BAjiq?9sUc$z}AMaC|4_$W%~C>E>?-ItJUE8)m;WUIh;A@PE^jjokxJ6-2G*JYne z%PX6YFPxV?x}G~z8Ho4IwE_vo+p5_wIJ2kh^2pmoxNaHp=LS)Nvyi0SkA8~Dw40B8 zJOlAQjtP5Z+DA7O9z4`-RIE*0E?nsFf(p#@c<-Q+5;duDB}o@@~4|*yn%o9(IMWe74k<(uu+ztoSHpti$1JPQH$GIW~5#|sSMAa z8r2npO)w#%qw2G#bkT{n`>2<&wOe)6gle-=I4A&?61IwPG~Di^!zHm?)`Bb%%SV?P z%N6)86w5y9C&Y>qth@(WLaG76(Pg-+BIAX`;w_P#PpQCMt3X&e|IXgdt2ROIF$`vP z>8foro8aZO0UJQ@0I0zg{7)?asyL#GUq1rkH<mujSauKbZr$>lUC$tR1i)PfLMeyG4?#b~68idAN+y-n# zEvm%RHe4(AHefqy;l*`=C)LBtCn-5$yr7&Y`@}LprTVmqGZn#$3TF~_g5Q|9VL1OP zcsZu$45Yy$q)=KfBKCQ#J&O?6tg&+jT^>A-o}tE@FQD(GIXxTU1rUXVYp@Diu^!io zb62~33g;?9L&|Hj9$t#m-XP^?!qb1VXwk1>(l0v=XnJRTj2glaF~bJKX-{qXcq#wK-h)X@dm=V&>ltzz-|Pw2WzkwE!c-$=tLa* zaR<7<&EqGU?Ljb$*2L1+riy-2741b4O@ag$|_@b-Nzeu&pmE5baAs!MnSvILTFLc+NFpYl&Xl8_M3Sxyk% zfht}Yb1Csdcm+Ckw@%~D!&_cKHJ#ZqgC7$*s-MB;Q1uM{m+%!rhd1P%rmAVGX`7~+ z&pZx4e-EAsRnJfz;qgn~CZ0=Pfl5sRY16322>j3x#3-6DhHcQX6QkGJ8Q-p!rYUPN_`pgKoQo*CL!g$^ks6*JsXM7q-zO*%^*)3oQj zNb5(6iRXZHC3Okn2 + + + + + diff --git a/server/-product/production/MEDIAVIVANTIS/jobs/schedules.json b/server/-product/production/MEDIAVIVANTIS/jobs/schedules.json index fac78485..9167bcfe 100644 --- a/server/-product/production/MEDIAVIVANTIS/jobs/schedules.json +++ b/server/-product/production/MEDIAVIVANTIS/jobs/schedules.json @@ -1,5 +1,16 @@ {"joblist":[ { + "template": "remote-transcode.xml", + "parameters": [ + {"name": "remoteServer", "value": "http://10.11.1.111:9080", "type": "java.lang.String"}, + {"name": "transcodeTemplate", "value": "create-proxy-ffmpeg.xml", "type": "java.lang.String"}, + {"name": "jobName", "value": "Create proxy (slave process)", "type": "java.lang.String"}, + {"name": "profileName", "value": "proxy", "type": "java.lang.String"}, + {"name": "tempStoreName", "value": "LOCAL", "type": "java.lang.String"}, + {"name": "tempStoreProtocol", "value": "LOCAL", "type": "java.lang.String"} + ] + }, + { "template": "test-fork-cancelable.xml", "parameters": [ {"name": "itemID", "value": 1, "type": "java.lang.Long"} ] }, diff --git a/server/-product/production/MEDIAVIVANTIS/jobs/steps/EscortFiles.java b/server/-product/production/MEDIAVIVANTIS/jobs/steps/EscortFiles.java new file mode 100644 index 00000000..077ce60d --- /dev/null +++ b/server/-product/production/MEDIAVIVANTIS/jobs/steps/EscortFiles.java @@ -0,0 +1,339 @@ +package user.jobengine.server.steps; + +import java.io.ByteArrayInputStream; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.io.StringWriter; +import java.io.UnsupportedEncodingException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.nio.file.attribute.FileAttribute; +import java.nio.file.attribute.PosixFilePermission; +import java.nio.file.attribute.PosixFilePermissions; +import java.text.SimpleDateFormat; +import java.util.Calendar; +import java.util.Date; +import java.util.Set; + +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.transform.OutputKeys; +import javax.xml.transform.Transformer; +import javax.xml.transform.TransformerConfigurationException; +import javax.xml.transform.TransformerException; +import javax.xml.transform.TransformerFactory; +import javax.xml.transform.TransformerFactoryConfigurationError; +import javax.xml.transform.dom.DOMSource; +import javax.xml.transform.stream.StreamResult; + +import org.apache.commons.lang.StringUtils; +import org.apache.commons.net.ftp.FTPClient; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.apache.logging.log4j.Marker; +import org.apache.logging.log4j.message.Message; +import org.w3c.dom.DOMImplementation; +import org.w3c.dom.Document; +import org.w3c.dom.Element; + +import com.ibm.nosql.json.api.BasicDBObject; +import com.ibm.nosql.json.util.JSON; + +import user.commons.CalendarUtils; +import user.commons.MediaCubeMarker; +import user.commons.StoreUri; +import user.commons.remotestore.FtpDirectoryLister; + +public class EscortFiles { + private static final String RECORDTIMESTAMP = "RecordTimeStamp"; + private static final String MODIFIEDTIMESTAMP = "ModifiedTimeStamp"; + public static final String DOT_CATCHED = ".catched"; + public static final String DOT_JSON = ".json"; + private static final Logger logger = LogManager.getLogger(); + private static final String EXTENDEDAGENCY = "ExtendedAgency"; + private static final String EXTENDEDDESCRIPTION = "ExtendedDescription"; + private static final String KILLDATE = "KillDate"; + private static final String FORMAT_KILLDATE = "MM-dd-yyyy"; + private static final String EXTENDEDID = "extendedId"; + private static final String ID = "ID"; + private static final String KILLDATE_FILENAME = "%s.%s.killdate"; + private static final String FORMAT_KILLDATENAME = "yyyyMMdd"; + public static final String STATUSFOLDER = ".STATUS"; + public static final String CONFLICTFOLDER = ".CONFLICT"; + + public static String composeKillDate(int days) { + Calendar killDate = Calendar.getInstance(); + killDate.add(Calendar.DAY_OF_YEAR, days); + SimpleDateFormat dateFormat = new SimpleDateFormat(FORMAT_KILLDATENAME); + return dateFormat.format(killDate.getTime()); + } + /* + * + * 02-02-2018 TEST + * TEST AGENT AGENT + * + */ + + private static String composeKillDateFileName(String fileName, int days) { + return String.format(KILLDATE_FILENAME, fileName, composeKillDate(days)); + } + + public static void createCatchedFile(Path escortFile) throws IOException { + Path catchedFilePath = Paths.get(escortFile.toString() + DOT_CATCHED); + Files.createFile(catchedFilePath); + } + + public static void createFellow(String escortFile, String extension) throws IOException { + Files.copy(Paths.get(escortFile), Paths.get(escortFile + "." + extension)); + } + + /*** + * A media eleresi utjan alapjan a .STATUS almappaban letrehozza a .catch fajlt. + * + * @param mediaFile + * @throws IOException + */ + public static void createMediaCatch(Path mediaFile) throws IOException { + Path catchedFile = createMediaCathFilePath(mediaFile); + ensureUNCFolder(catchedFile.getParent()); + Files.createFile(catchedFile); + } + + private static Path createMediaCathFilePath(Path mediaFile) { + return Paths.get(mediaFile.getParent().toString(), STATUSFOLDER, mediaFile.getFileName() + DOT_CATCHED); + } + + public static void createMetadata(String filePath, String fileName, String metadata) throws IOException { + ensureUNCFolder(filePath, STATUSFOLDER); + String metadataFileName = fileName + DOT_JSON; + Path metadataPath = Paths.get(filePath, STATUSFOLDER, metadataFileName); + Files.write(metadataPath, metadata.getBytes()); + } + + public static boolean createMetadataIfNotExists(String filePath, String fileName, String metadata) throws IOException { + boolean result = false; + if (!EscortFiles.isMetadataExists(filePath, fileName)) { + EscortFiles.createMetadata(filePath, fileName, metadata); + result = true; + } + return result; + } + + public static void createMorpheusXML(String filePath, String fileName, String content) throws IOException { + ensureUNCFolder(filePath, STATUSFOLDER); + Path xmlPath = Paths.get(filePath, fileName); + if (Files.exists(xmlPath)) + throw new IOException(String.format("Az '%s' állomány már létezik.", xmlPath)); + Files.write(xmlPath, content.getBytes()); + } + + public static byte[] createNEXIODatesMeta(String fileName, Date recorded, Date modified) throws Exception { + DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); + DocumentBuilder db = dbf.newDocumentBuilder(); + DOMImplementation impl = db.getDOMImplementation(); + Document xmlDocument = impl.createDocument(null, null, null); + + Element root = xmlDocument.createElement(ID); + root.setAttribute(EXTENDEDID, fileName); + // 07-13-2020 (19:36:52) + // 05-18-2013 (18:52:24) + SimpleDateFormat df = new SimpleDateFormat("MM-dd-yyyy (HH:mm:ss)"); + root.appendChild(xmlDocument.createElement(MODIFIEDTIMESTAMP)).appendChild(xmlDocument.createTextNode(df.format(modified))); + root.appendChild(xmlDocument.createElement(RECORDTIMESTAMP)).appendChild(xmlDocument.createTextNode(df.format(recorded))); + xmlDocument.appendChild(root); + + return xmDocumentToString(xmlDocument); + } + + public static byte[] createNEXIOKillDateFile(String fileName, Date killDate, String description, String agency) throws Exception { + DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); + DocumentBuilder db = dbf.newDocumentBuilder(); + DOMImplementation impl = db.getDOMImplementation(); + Document xmlDocument = impl.createDocument(null, null, null); + + Element root = xmlDocument.createElement(ID); + root.setAttribute(EXTENDEDID, fileName); + if (killDate != null) { + String sKillDate = CalendarUtils.toString(CalendarUtils.createCalendar(killDate), FORMAT_KILLDATE); + root.appendChild(xmlDocument.createElement(KILLDATE)).appendChild(xmlDocument.createTextNode(sKillDate)); + } + + if (StringUtils.isNotBlank(description)) + root.appendChild(xmlDocument.createElement(EXTENDEDDESCRIPTION)).appendChild(xmlDocument.createTextNode(description)); + if (StringUtils.isNotBlank(agency)) + root.appendChild(xmlDocument.createElement(EXTENDEDAGENCY)).appendChild(xmlDocument.createTextNode(agency)); + xmlDocument.appendChild(root); + + return xmDocumentToString(xmlDocument); + } + + public static Document createNEXIOMeta(byte[] content) throws Exception { + DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); + DocumentBuilder db = dbf.newDocumentBuilder(); + DOMImplementation impl = db.getDOMImplementation(); + Document xmlDocument = null; + + try (InputStream is = new ByteArrayInputStream(content)) { + xmlDocument = db.parse(is); + } catch (Exception e) { + logger.catching(e); + } + + return xmlDocument; + } + + public static void createUNCKillDate(String filePath, String fileName, int days, Marker marker) throws IOException { + ensureUNCFolder(filePath, STATUSFOLDER); + String killDateFileName = composeKillDateFileName(fileName, days); + Path killDatePath = Paths.get(filePath, STATUSFOLDER, killDateFileName); + if (Files.exists(killDatePath)) + logger.warn(marker, "Az '{}' állomány már létezik.", killDatePath); + else + Files.createFile(killDatePath); + } + + @SuppressWarnings("unchecked") + public static T decode(Path escortFile) { + T result = null; + try { + byte[] bytes = Files.readAllBytes(escortFile); + String content = new String(bytes); + result = (T) JSON.parse(content); + } catch (Exception e) { + logger.error("Decode error. System message is: ", e.getMessage()); + } + return result; + } + + public static void ensureUNCFolder(Path filePath) throws IOException { + File folder = filePath.toFile(); + if (!folder.exists() || !folder.isDirectory()) { + Set perms = PosixFilePermissions.fromString("rwxrwxrwx"); + FileAttribute> attr = PosixFilePermissions.asFileAttribute(perms); + try { + Files.createDirectories(filePath, attr); + } catch (Exception e) { + // logger.catching(e); + try { + Files.createDirectories(filePath); + } catch (Exception e1) { + logger.catching(e); + throw e; + } + } + } + } + + public static void ensureUNCFolder(String filePath, String folderName) throws IOException { + Path statusPath = Paths.get(filePath, folderName); + ensureUNCFolder(statusPath); + } + + public static boolean isCatchedFileExists(Path escortFile) { + Path catchedFilePath = Paths.get(escortFile.toString() + DOT_CATCHED); + return catchedFilePath.toFile().exists(); + } + + /*** + * A media eleresi utjan alapjan a .STATUS almappaban vizsgalja .catch fajl letezeset. + * + * @param mediaFile + * @return + */ + public static boolean isMediaCatched(Path mediaFile) { + Path catchedFile = createMediaCathFilePath(mediaFile); + return catchedFile.toFile().exists(); + } + + public static boolean isMetadataExists(String filePath, String fileName) throws IOException { + boolean result = false; + String metadataFileName = fileName + DOT_JSON; + Path metadataPath = Paths.get(filePath, STATUSFOLDER, metadataFileName); + result = metadataPath.toFile().exists(); + return result; + } + + public static void notifyRecipient(Path escortFile, Logger logger, Message msg) { + if (escortFile.toFile().exists()) { + try { + BasicDBObject downloadable = EscortFiles.decode(escortFile); + String recipientKey = "recipient"; + if (downloadable.containsKey(recipientKey)) { + String recipient = downloadable.getString(recipientKey); + logger.info(new MediaCubeMarker(recipient, "MediaCube rendszerüzenet"), msg); + } + } catch (Exception e) { + logger.catching(e); + } + + } + } + + public static void remove(Path file) { + try { + file.toFile().delete(); + } catch (Exception e) { + logger.error("Unable to delete {}", file.toAbsolutePath().toString()); + } + } + + public static void removeCatchedFile(Path escortFile) { + remove(Paths.get(escortFile.toString() + DOT_CATCHED)); + } + + /*** + * A media eleresi utjan alapjan a .STATUS almappabol torli a .catch fajlt. + * + * @param mediaFile + * @throws IOException + */ + public static void removeMediaCatch(Path mediaFile) { + Path catchedFile = createMediaCathFilePath(mediaFile); + remove(catchedFile); + } + + public static void setNEXIOKillDate(int killDateDays, String targetFileName, String nexioAgency, StoreUri targetUri) throws Exception { + OutputStream outStream = null; + try { + FTPClient targetFTP = ((FtpDirectoryLister) targetUri.getLister()).connect(); + Calendar killDate = CalendarUtils.createCalendar(new Date()); + killDate.add(Calendar.DAY_OF_YEAR, killDateDays); + if (targetFileName.toLowerCase().contains(".mxf")) + targetFileName = targetFileName.substring(0, targetFileName.lastIndexOf('.')); + byte[] killDateFile = EscortFiles.createNEXIOKillDateFile(targetFileName, killDate.getTime(), null, nexioAgency); + String xml = targetFileName + ".xml"; + outStream = targetFTP.storeFileStream(xml); + if (outStream == null) { + throw new NullPointerException("Can not open: " + targetFileName.substring(0, targetFileName.lastIndexOf('.')) + ".xml" + " Reply:" + + targetFTP.getReplyString()); + } + outStream.write(killDateFile); + outStream.flush(); + } catch (Exception e) { + throw e; + } finally { + if (outStream != null) + outStream.close(); + targetUri.cleanUp(); + } + } + + private static byte[] xmDocumentToString(Document xmlDocument) + throws TransformerFactoryConfigurationError, TransformerConfigurationException, TransformerException, IOException, UnsupportedEncodingException { + DOMSource domSource = new DOMSource(xmlDocument); + TransformerFactory tf = TransformerFactory.newInstance(); + Transformer transformer = tf.newTransformer(); + transformer.setOutputProperty(OutputKeys.METHOD, "xml"); + transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-16"); + transformer.setOutputProperty(OutputKeys.INDENT, "yes"); + StringWriter sw = new StringWriter(); + StreamResult sr = new StreamResult(sw); + transformer.transform(domSource, sr); + String result = sw.toString(); + sw.close(); + return result.getBytes("UTF-16"); + } +} diff --git a/server/-product/production/MEDIAVIVANTIS/jobs/steps/ExternalCommand.java b/server/-product/production/MEDIAVIVANTIS/jobs/steps/ExternalCommand.java new file mode 100644 index 00000000..307f36d0 --- /dev/null +++ b/server/-product/production/MEDIAVIVANTIS/jobs/steps/ExternalCommand.java @@ -0,0 +1,79 @@ +package user.jobengine.server.steps.shared; + +import java.io.BufferedReader; +import java.io.InputStreamReader; +import java.util.ArrayList; +import java.util.List; + +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +public class ExternalCommand { + private static final Logger logger = LogManager.getLogger(); + private ExternalProfile profile; + + public ExternalCommand(ExternalProfile profile) { + this.profile = profile; + } + + public String execute(String input, String output, boolean firstResponse, IExternalCallback responseCallBack) throws Exception { + List arguments = getArguments(input, output); + List command = new ArrayList<>(); + command.add(profile.getExecutable()); + command.addAll(arguments); + + ProcessBuilder processBuilder = new ProcessBuilder(); + processBuilder.command(command); + + String result = null; + try { + logger.info("Executing : {}", processBuilder.command()); + + Process process = processBuilder.start(); + try (BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()))) { + String line = null; + while ((line = reader.readLine()) != null) { + logger.debug("Process response: {}", line); + if (responseCallBack != null) + responseCallBack.onResponse(line); + //System.out.println(line); + if (line != null && line.length() > 0) { + result = line; + if (firstResponse) + break; + } + } + int exitCode = process.waitFor(); + if (exitCode != 0) { + StringBuilder msg = new StringBuilder(); + try (BufferedReader errReader = new BufferedReader(new InputStreamReader(process.getErrorStream()))) { + String errline = null; + while ((errline = errReader.readLine()) != null) { + msg.append(errline); + } + } catch (Exception ex) { + } + + throw new Exception("Exited with error code : " + exitCode + ". " + msg); + } + } catch (Exception e) { + throw e; + } + } catch (Exception e) { + logger.error(e); + throw e; + } + + return result; + } + + private List getArguments(String input, String output) { + List result = new ArrayList<>(); + + profile.getArguments().forEach(i -> { + result.add(i.replace("%i", input).replace("%o", output)); + }); + return result; + } + +} \ No newline at end of file diff --git a/server/-product/production/MEDIAVIVANTIS/jobs/steps/ExternalCommandExecutor.java b/server/-product/production/MEDIAVIVANTIS/jobs/steps/ExternalCommandExecutor.java new file mode 100644 index 00000000..a34ff7f0 --- /dev/null +++ b/server/-product/production/MEDIAVIVANTIS/jobs/steps/ExternalCommandExecutor.java @@ -0,0 +1,32 @@ +package user.jobengine.server.steps.shared; + +import user.commons.configuration.SystemConfiguration; + +public class ExternalCommandExecutor { + + public void execute(String profileName, String input, String output, IExternalCallback responseCallBack) throws Exception { + ExternalCommand externalCommand = getExternalCommand(profileName); + externalCommand.execute(input, output, false, responseCallBack); + } + + private ExternalCommand getExternalCommand(String profileName) throws Exception { + ExternalProfilesConfig config = SystemConfiguration.getInstance().load("settings/external-commands.yaml", ExternalProfilesConfig.class); + + if (config == null) + throw new Exception("Missing external-commands.yaml configuration"); + + ExternalProfile selectedProfile = null; + for (ExternalProfile profile : config.getProfiles()) { + if (profileName.equals(profile.getName())) { + selectedProfile = profile; + break; + } + } + + if (selectedProfile == null) + throw new Exception("Missing profile " + profileName + " in external-commands.yaml configuration"); + + return new ExternalCommand(selectedProfile); + } + +} diff --git a/server/-product/production/MEDIAVIVANTIS/jobs/steps/ExternalProfile.java b/server/-product/production/MEDIAVIVANTIS/jobs/steps/ExternalProfile.java new file mode 100644 index 00000000..68e22f4c --- /dev/null +++ b/server/-product/production/MEDIAVIVANTIS/jobs/steps/ExternalProfile.java @@ -0,0 +1,33 @@ +package user.jobengine.server.steps.shared; + +import java.util.List; + +public class ExternalProfile { + private String executable; + private String name; + private List arguments; + + public List getArguments() { + return arguments; + } + + public String getExecutable() { + return executable; + } + + public String getName() { + return name; + } + + public void setArguments(List arguments) { + this.arguments = arguments; + } + + public void setExecutable(String executable) { + this.executable = executable; + } + + public void setName(String name) { + this.name = name; + } +} \ No newline at end of file diff --git a/server/-product/production/MEDIAVIVANTIS/jobs/steps/ExternalProfilesConfig.java b/server/-product/production/MEDIAVIVANTIS/jobs/steps/ExternalProfilesConfig.java new file mode 100644 index 00000000..7ef77291 --- /dev/null +++ b/server/-product/production/MEDIAVIVANTIS/jobs/steps/ExternalProfilesConfig.java @@ -0,0 +1,15 @@ +package user.jobengine.server.steps.shared; + +import java.util.List; + +public class ExternalProfilesConfig { + private List profiles; + + public List getProfiles() { + return profiles; + } + + public void setProfiles(List profiles) { + this.profiles = profiles; + } +} \ No newline at end of file diff --git a/server/-product/production/MEDIAVIVANTIS/jobs/steps/IExternalCallback.java b/server/-product/production/MEDIAVIVANTIS/jobs/steps/IExternalCallback.java new file mode 100644 index 00000000..1e071913 --- /dev/null +++ b/server/-product/production/MEDIAVIVANTIS/jobs/steps/IExternalCallback.java @@ -0,0 +1,5 @@ +package user.jobengine.server.steps.shared; + +public interface IExternalCallback { + void onResponse(String data); +} \ No newline at end of file diff --git a/server/-product/production/MEDIAVIVANTIS/jobs/steps/ItemManagerExtensions.java b/server/-product/production/MEDIAVIVANTIS/jobs/steps/ItemManagerExtensions.java new file mode 100644 index 00000000..bf807791 --- /dev/null +++ b/server/-product/production/MEDIAVIVANTIS/jobs/steps/ItemManagerExtensions.java @@ -0,0 +1,58 @@ +package user.jobengine.server.steps; + +import com.ibm.nosql.json.api.BasicDBObject; + +import user.jobengine.db.IItemManager; +import user.jobengine.db.IResultSetConsumer; + +public class ItemManagerExtensions { + + public static BasicDBObject getArchiveInfo(IItemManager manager, long houseid) { + final BasicDBObject[] result = { null }; + StringBuilder query = new StringBuilder(); + query.append("select count(*) as count, sum(length) as duration FROM media"); + query.append(" "); + query.append(String.format("where houseid='%d' and itemtypeid = 82", houseid)); + query.append(" "); + query.append("group by houseid"); + IResultSetConsumer consumer = rs -> { + BasicDBObject o = new BasicDBObject(); + o.put("count", rs.getLong("count")); + o.put("duration", rs.getLong("duration")); + result[0] = o; + return false; + }; + manager.executeQuery(query.toString(), consumer, null); + return result[0]; + } + + public static long getExistingRundownMedia(IItemManager manager, String houseid) { + final long[] result = { 0 }; + final String[] idToCheck = { houseid }; + int pos = houseid.lastIndexOf("-"); + //a hivas a CopyForArchiveNEXIOMaterialsStep-bol is johet, ott meg nincs idobelyegezve a nev! + if (pos > 0 && houseid.length() - pos > 4) + idToCheck[0] = houseid.substring(0, pos); + MetadataType metadataType = MetadataTypeDetector.GuessMetadataType(idToCheck[0]); + if (metadataType == MetadataType.OctopusPlaceholder) { + StringBuilder query = new StringBuilder(); + query.append("select mediaid, mediafilehouseid, filename"); + query.append(" "); + query.append(String.format("from vw_rundown_items where mediafilehouseid like '%s%%'", idToCheck[0])); + query.append(" "); + query.append("order by filename, mediaid"); + IResultSetConsumer consumer = rs -> { + String fileName = rs.getString("filename"); + if (idToCheck[0].equals(fileName)) { + result[0] = rs.getLong("mediaid"); + return false; + } else + return true; + }; + manager.executeQuery(query.toString(), consumer, null); + } + + return result[0]; + } + +} diff --git a/server/-product/production/MEDIAVIVANTIS/jobs/steps/MediaCubeClient.java b/server/-product/production/MEDIAVIVANTIS/jobs/steps/MediaCubeClient.java new file mode 100644 index 00000000..840925e4 --- /dev/null +++ b/server/-product/production/MEDIAVIVANTIS/jobs/steps/MediaCubeClient.java @@ -0,0 +1,77 @@ +package user.jobengine.server.steps; + +import javax.ws.rs.client.Entity; +import javax.ws.rs.client.Invocation.Builder; +import javax.ws.rs.core.MediaType; +import javax.ws.rs.core.MultivaluedMap; +import javax.ws.rs.core.Response; +import javax.ws.rs.core.Response.Status; + +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.jboss.resteasy.client.jaxrs.ResteasyClient; +import org.jboss.resteasy.client.jaxrs.ResteasyClientBuilder; +import org.jboss.resteasy.client.jaxrs.ResteasyWebTarget; +import org.jboss.resteasy.specimpl.MultivaluedMapImpl; + +import com.ibm.nosql.json.JSONUtil; +import com.ibm.nosql.json.api.BasicDBObject; + +public class MediaCubeClient { + private static Logger logger = LogManager.getLogger(); + private ResteasyWebTarget webTarget; + + public MediaCubeClient(String address) { + ResteasyClient client = new ResteasyClientBuilder().build(); + webTarget = client.target(address); + } + + BasicDBObject getDbObject(String json) { + BasicDBObject result = (BasicDBObject) JSONUtil.jsonToDbObject(json); + + if (result == null) + throw new NullPointerException("API Result is null!"); + + if (result.containsKey("exception")) { + BasicDBObject e = (BasicDBObject) result.get("exception"); + throw new RuntimeException(e.getString("message")); + } + //{"exception":{"message":"Invalid credentials.","publicName":"AuthenticationFailedException"}} + return result; + } + + public BasicDBObject getStatus(long jobId) { + MultivaluedMap vars = new MultivaluedMapImpl<>(); + vars.add("jobId", jobId); + Response response = query("services/rest/jobengine/jobstatus", vars).get(); + if (response.getStatus() != Status.OK.getStatusCode()) { + logger.error(response.readEntity(String.class)); + System.out.println(response.readEntity(String.class)); + return null; + } + String result = response.readEntity(String.class); + return getDbObject(result); + } + + private Builder query(String path, MultivaluedMap vars) { + ResteasyWebTarget target = webTarget.path(path).queryParams(vars); + Builder result = target.request(); + return result; + } + + public long startjob(String template, String name, BasicDBObject jobParams) throws Exception { + MultivaluedMap vars = new MultivaluedMapImpl<>(); + vars.add("template", template); + vars.add("name", name); + Response response = query("services/rest/jobengine/startjob", vars).post(Entity.entity(jobParams.toString(), MediaType.APPLICATION_JSON)); + + if (response.getStatus() != Status.OK.getStatusCode()) { + logger.error(response.readEntity(String.class)); + return 0; + } + + String resultObject = response.readEntity(String.class); + return Long.parseLong(resultObject); + } + +} diff --git a/server/-product/production/MEDIAVIVANTIS/jobs/steps/MetadataType.java b/server/-product/production/MEDIAVIVANTIS/jobs/steps/MetadataType.java new file mode 100644 index 00000000..12e166cc --- /dev/null +++ b/server/-product/production/MEDIAVIVANTIS/jobs/steps/MetadataType.java @@ -0,0 +1,5 @@ +package user.jobengine.server.steps; + +public enum MetadataType { + TrafficMaterial, TrafficPromo, TrafficAD, OctopusStory, OctopusPlaceholder, Generic +} diff --git a/server/-product/production/MEDIAVIVANTIS/jobs/steps/MetadataTypeDetector.java b/server/-product/production/MEDIAVIVANTIS/jobs/steps/MetadataTypeDetector.java new file mode 100644 index 00000000..0bb69923 --- /dev/null +++ b/server/-product/production/MEDIAVIVANTIS/jobs/steps/MetadataTypeDetector.java @@ -0,0 +1,49 @@ +package user.jobengine.server.steps; + +import org.apache.commons.lang.StringUtils; + +public class MetadataTypeDetector { + + private static final String HYPHEN = "-"; + private static final String DOT = "."; + + private static final String REGEXP_TRAFFICMATERIALID = "^M{1}[0-9]{6}[A-Z]{1}$"; + private static final String REGEXP_TRAFFICADID = "^R{1}[0-9]{6}[A-Z]{1}$"; + private static final String REGEXP_TRAFFICPROMOID = "^P{1}[0-9]{6}[A-Z]{1}$"; + private static final String REGEXP_OCTOPUSSTORYID = "^[0-9]+$"; + private static final String REGEXP_OCTOPUSPLACEHOLDERID = "^[0-9]+_[0-9]+$"; + private static final String REGEXP_OCTOPUSPLACEHOLDERVERSIONEDID = "^[0-9]+_[0-9]+-[0-9]{3}$"; + + public static MetadataType GuessMetadataType(String id) { + if (StringUtils.isBlank(id)) + return MetadataType.Generic; + if (id.matches(REGEXP_TRAFFICMATERIALID)) + return MetadataType.TrafficMaterial; + if (id.matches(REGEXP_TRAFFICPROMOID)) + return MetadataType.TrafficPromo; + if (id.matches(REGEXP_TRAFFICADID)) + return MetadataType.TrafficAD; + if (id.matches(REGEXP_OCTOPUSSTORYID)) + return MetadataType.OctopusStory; + if (id.matches(REGEXP_OCTOPUSPLACEHOLDERID)) + return MetadataType.OctopusPlaceholder; + if (id.matches(REGEXP_OCTOPUSPLACEHOLDERVERSIONEDID)) + return MetadataType.OctopusPlaceholder; + return MetadataType.Generic; + } + + public static String truncateExtension(String name) { + String result = name; + if (result != null && result.contains(DOT)) + result = result.substring(0, result.lastIndexOf(DOT)); + return result; + } + + public static String truncateVersion(String name) { + String result = name; + if (result != null && result.contains(HYPHEN)) + result = result.split(HYPHEN)[0]; + return result; + } + +} diff --git a/server/-product/production/MEDIAVIVANTIS/jobs/steps/OutputPathAndNameSelectorStep.java b/server/-product/production/MEDIAVIVANTIS/jobs/steps/OutputPathAndNameSelectorStep.java index 7148df4c..6950babe 100644 --- a/server/-product/production/MEDIAVIVANTIS/jobs/steps/OutputPathAndNameSelectorStep.java +++ b/server/-product/production/MEDIAVIVANTIS/jobs/steps/OutputPathAndNameSelectorStep.java @@ -18,6 +18,12 @@ import user.jobengine.db.ArchivedMedia; import user.jobengine.server.IJobEngine; import user.jobengine.server.IJobRuntime; +/* +package user.jobengine.server.steps.MetadataType; +package user.jobengine.server.steps.MetadataTypeDetector; +package user.jobengine.server.steps.EscortFiles; +*/ + public class OutputPathAndNameSelectorStep extends JobStep { private static final String TARGETNAMEPATTERN = "-ARCH-%s"; diff --git a/server/-product/production/MEDIAVIVANTIS/jobs/steps/PrepareMediaRestoreStep.java b/server/-product/production/MEDIAVIVANTIS/jobs/steps/PrepareMediaRestoreStep.java new file mode 100644 index 00000000..fd7d25ec --- /dev/null +++ b/server/-product/production/MEDIAVIVANTIS/jobs/steps/PrepareMediaRestoreStep.java @@ -0,0 +1,30 @@ +package user.jobengine.server.steps; + +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +import user.commons.StoreUri; +import user.commons.remotestore.RemoteStoreProtocol; +import user.jobengine.db.Media; +import user.jobengine.db.MediaFile; + +public class PrepareMediaRestoreStep extends JobStep { + private static final Logger logger = LogManager.getLogger(); + + @StepEntry + public Object[] execute(Media media, String mediaStoreProtocol, String tempStoreName, String tempStoreProtocol) throws Exception { + StoreUri mediaStoreUri = null; + for (MediaFile mediaFile : media.getMediaFiles()) { + if (mediaFile.getStore().isSystem() && !mediaFile.getStore().isLowres()) { + mediaStoreUri = mediaFile.getStore().getStoreUri(Enum.valueOf(RemoteStoreProtocol.class, mediaStoreProtocol)); + if (mediaStoreUri != null) + break; + } + } + + StoreUri tempStoreUri = getManager().getStoreUri(tempStoreName, Enum.valueOf(RemoteStoreProtocol.class, tempStoreProtocol)); + + return new Object[] { mediaStoreUri, tempStoreUri, media.getMediaFileRealName() }; + } + +} diff --git a/server/-product/production/MEDIAVIVANTIS/jobs/steps/PrepareRemoteTranscodeJobParametersStep.java b/server/-product/production/MEDIAVIVANTIS/jobs/steps/PrepareRemoteTranscodeJobParametersStep.java new file mode 100644 index 00000000..37306e60 --- /dev/null +++ b/server/-product/production/MEDIAVIVANTIS/jobs/steps/PrepareRemoteTranscodeJobParametersStep.java @@ -0,0 +1,20 @@ +package user.jobengine.server.steps; + +import java.nio.file.Paths; + +import com.ibm.nosql.json.api.BasicDBObject; + +public class PrepareRemoteTranscodeJobParametersStep extends JobStep { + @StepEntry + public Object[] execute(String profileName, String fileName) throws Exception { + String transcoderInputDir = "m:\"; + String transcoderOutputDir = "m:\"; + String outFileName = fileName.substring(0, fileName.lastIndexOf(".")) + ".mp4"; + BasicDBObject parameters = new BasicDBObject(); + parameters.put("profile", profileName); + parameters.put("input", Paths.get(transcoderInputDir, fileName)); + parameters.put("output", Paths.get(transcoderOutputDir, outFileName)); + return new Object[] { parameters }; + } + +} diff --git a/server/-product/production/MEDIAVIVANTIS/jobs/steps/QueryMissingProxyMediaStep.java b/server/-product/production/MEDIAVIVANTIS/jobs/steps/QueryMissingProxyMediaStep.java new file mode 100644 index 00000000..9e8d1949 --- /dev/null +++ b/server/-product/production/MEDIAVIVANTIS/jobs/steps/QueryMissingProxyMediaStep.java @@ -0,0 +1,76 @@ +package user.jobengine.server.steps; + +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +import com.ibm.nosql.json.api.BasicDBObject; +import com.ibm.nosql.json.api.DB; +import com.ibm.nosql.json.api.DBCollection; + +import user.commons.MediaCubeUndoMarker; +import user.commons.nosql.NoSQLUtils; +import user.jobengine.db.IItemManager; +import user.jobengine.db.Media; + +public class QueryMissingProxyMediaStep extends JobStep { + private static final Logger logger = LogManager.getLogger(); + + @StepEntry + public Object[] execute() throws Exception { + Object[] result = new Object[] { null }; + DB db = NoSQLUtils.getNoSQLDB(); + DBCollection collection = db.getCollection("missing_lowres"); + Media media = getFirstUntranscodedMedia(collection); + + try { + if (media == null) { + logger.info(new MediaCubeUndoMarker(getSessionMarker().getSessionID()), "Nincs feldolgozandó hiány."); + // throw new Exception("Nincs feldolgozandó hiány."); + cancel(); + return null; + } + + String name = media.getMediaFileRealName(); + collection.save(new BasicDBObject("name", name)); + logger.info(getSessionMarker(), "Processing mediaID: {}", media.getId()); + result[0] = media; + } catch (Exception e) { + logger.catching(e); + logger.error(getSessionMarker(), e.getMessage()); + throw e; + } finally { + setProgress(100); + } + return result; + } + + private Media getFirstUntranscodedMedia(DBCollection collection) { + Media[] result = new Media[] { null }; + //MV + String query = "SELECT mediaid FROM VW_MISSING_PROXY_IDS WHERE HOUSEID like 'M%' or HOUSEID like 'P%' or HOUSEID like 'R%' ORDER BY modified DESC"; + + //HTV + //String query = "SELECT mediaid FROM VW_MISSING_PROXY_IDS"; + IItemManager manager = getManager(); + manager.executeQuery(query, rs -> { + try { + long mediaId = rs.getLong(1); + Media media = manager.getMedia(mediaId); + //a nevgeneralas miatt az eredeti MediaFilesName nem jo, a pontos nev kell nekunk + String name = media.getMediaFileRealName(); + logger.info(getSessionMarker(), "Checking {}", name); + long existing = collection.find(new BasicDBObject("name", name)).count(); + if (existing > 0) { + logger.info(getSessionMarker(), "{} is on missing_lowres list", name); + return true; + } + + result[0] = media; + } catch (Exception e) { + logger.error(e); + } + return false; + }, null); + return result[0]; + } +} diff --git a/server/-product/production/MEDIAVIVANTIS/jobs/steps/RemoteJobStep.java b/server/-product/production/MEDIAVIVANTIS/jobs/steps/RemoteJobStep.java new file mode 100644 index 00000000..8e022f43 --- /dev/null +++ b/server/-product/production/MEDIAVIVANTIS/jobs/steps/RemoteJobStep.java @@ -0,0 +1,43 @@ +package user.jobengine.server.steps; + +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +import com.ibm.nosql.json.api.BasicDBObject; + +/* +import user.jobengine.server.steps.MediaCubeClient; +*/ +public class RemoteJobStep extends JobStep { + private static final Logger logger = LogManager.getLogger(); + + @StepEntry + public Object[] execute(String server, String template, String name, String profile) throws Exception { + try { + MediaCubeClient mc = new MediaCubeClient(server); + BasicDBObject params = new BasicDBObject(); + params.put("profile", profile); + params.put("input", "c:/_workspace/data/video/proba1.mxf"); + params.put("output", "c:/_video/proba1.mp4"); + + long jobId = mc.startjob(template, name, params); + logger.info(getMarker(), "Started {} on server {}", jobId, server); + while (true) { + BasicDBObject status = mc.getStatus(jobId); + if (status != null) + setProgress(status.getInt("progress")); + + String jobStatus = status.getString("status"); + if ("SUSPENDED".equals(jobStatus)) + throw new Exception(status.getString("description")); + + if ("FINISHED".equals(jobStatus)) + break; + } + + } catch (Exception e) { + throw e; + } + return new Object[] { null }; + } +} diff --git a/server/-product/production/MEDIAVIVANTIS/jobs/steps/TSMRestoreStep.java b/server/-product/production/MEDIAVIVANTIS/jobs/steps/TSMRestoreStep.java index 5b410055..6b40e3b7 100644 --- a/server/-product/production/MEDIAVIVANTIS/jobs/steps/TSMRestoreStep.java +++ b/server/-product/production/MEDIAVIVANTIS/jobs/steps/TSMRestoreStep.java @@ -2,7 +2,9 @@ package user.jobengine.server.steps; import java.io.IOException; import java.nio.file.Paths; +import java.text.Normalizer; import java.util.List; +import java.util.regex.Pattern; import org.apache.commons.lang.StringUtils; import org.apache.logging.log4j.LogManager; @@ -28,6 +30,8 @@ import user.jobengine.server.IJobEngine; import user.jobengine.server.IJobRuntime; public class TSMRestoreStep extends JobStep { + private static final String DOT = "."; + public static final Pattern DIACRITICS_AND_FRIENDS = Pattern.compile("[\\p{InCombiningDiacriticalMarks}\\p{IsLm}\\p{IsSk}]+"); private static final Logger logger = LogManager.getLogger(); private IItemManager manager; private StoreUri targetUri; @@ -60,6 +64,9 @@ public class TSMRestoreStep extends JobStep { marker = jobRuntime.getSessionMarker(); setAndCheck(mediaCubeMedia, targetPath, targetNamePattern, localRetrievePath, globalRetrievePath, jobEngine); String targetFileName = String.format(targetNamePattern, sourceFileName); + //20210129 + //targetFileName = getMaximizedFileName(mediaCubeMedia, targetFileName, 120); + Timecode timecode = new Timecode(mediaCubeMedia.getLength(), Type.PAL); try { String details = String.format("%s (%s)", sourceFileName, timecode.toString()); @@ -99,6 +106,24 @@ public class TSMRestoreStep extends JobStep { return null; } + private String getMaximizedFileName(Media mediaCubeMedia, String targetFileName, int limit) { + String name = targetFileName; + String extension = ""; + if (name.contains(DOT)) { + extension = DOT + name.substring(name.lastIndexOf(DOT) + 1); + name = name.substring(0, name.lastIndexOf(DOT)); + } + String typeName = Normalizer.normalize(mediaCubeMedia.getItemType().getName(), Normalizer.Form.NFD); + typeName = DIACRITICS_AND_FRIENDS.matcher(typeName).replaceAll(""); + typeName = typeName.replace(" ", "_"); + + int allowedSize = limit - typeName.length() - 1 - extension.length(); + if (name.length() > allowedSize) + name = name.substring(0, allowedSize); + + return String.format("%s_%s%s", name, typeName, extension); + } + private String getSourceFileName(Media mediaCubeMedia, Store store) { List mediaFiles = mediaCubeMedia.getMediaFiles(); if (mediaFiles == null) diff --git a/server/-product/production/MEDIAVIVANTIS/jobs/templates/remote-transcode.xml b/server/-product/production/MEDIAVIVANTIS/jobs/templates/remote-transcode.xml new file mode 100644 index 00000000..ce4c77b7 --- /dev/null +++ b/server/-product/production/MEDIAVIVANTIS/jobs/templates/remote-transcode.xml @@ -0,0 +1,111 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/server/-product/production/MEDIAVIVANTIS/jobs/templates/template1.yaml b/server/-product/production/MEDIAVIVANTIS/jobs/templates/template1.yaml deleted file mode 100644 index 4459b9fa..00000000 --- a/server/-product/production/MEDIAVIVANTIS/jobs/templates/template1.yaml +++ /dev/null @@ -1,28 +0,0 @@ -jobtemplate: - multiInstance: true - useSessionLog: true - declarations: - parameters: - - name: param1 - type: java.lang.Integer - - name: param1 - type: java.lang.Integer - variables: - - name: var1 - type: java.lang.Integer - - name: var1 - type: java.lang.Integer - commands: - - type: Step1.java - weight: 1 - inputs: - - name: param1 - - name: param2 - outputs: - - name: var1 - - name: var2 - - type: StepS.java - weight: 1 - inputs: - - name: var1 - - name: var2 diff --git a/server/-product/production/MEDIAVIVANTIS/settings/application.yaml b/server/-product/production/MEDIAVIVANTIS/settings/application.yaml index ffd0b6ff..a50dcc2c 100644 --- a/server/-product/production/MEDIAVIVANTIS/settings/application.yaml +++ b/server/-product/production/MEDIAVIVANTIS/settings/application.yaml @@ -22,15 +22,8 @@ datasource: user: MAM password: VDani services: - ffmpeg: - execurable-location: /opt/ffmpeg/ffmpeg mediacube: proxy-root: /mediacube/data/lowres - nexio: - host: 10.10.1.55 - collection-name: nexioclips - use-mos-gateway: true - disabled: true jobs: validate-transfers: false copy-buffer-size: 32768 diff --git a/server/hu.user.mediacube.executors.tests/META-INF/MANIFEST.MF b/server/hu.user.mediacube.executors.tests/META-INF/MANIFEST.MF index 35b0ee22..4bf9bf02 100644 --- a/server/hu.user.mediacube.executors.tests/META-INF/MANIFEST.MF +++ b/server/hu.user.mediacube.executors.tests/META-INF/MANIFEST.MF @@ -7,6 +7,8 @@ Fragment-Host: user.jobengine.executors;bundle-version="1.0.0" Bundle-RequiredExecutionEnvironment: JavaSE-1.8 Import-Package: org.apache.commons.io.filefilter;version="2.2.0", org.apache.commons.io.output;version="2.2.0", + org.apache.commons.logging, + org.apache.commons.logging.impl, org.apache.ibatis.jdbc;version="3.5.2", org.codehaus.groovy.control;version="3.0.3", org.junit diff --git a/server/hu.user.mediacube.executors.tests/settings/external-commands.yaml b/server/hu.user.mediacube.executors.tests/settings/external-commands.yaml new file mode 100644 index 00000000..e8ffa173 --- /dev/null +++ b/server/hu.user.mediacube.executors.tests/settings/external-commands.yaml @@ -0,0 +1,27 @@ +profiles: +- + name: profile1 + executable: /Programs/ffmpeg/bin/ffmpeg.exe + arguments: + - -y + - -v + - error + - -progress + - pipe:1 + - -i + - "%i" + - "%o" +- + name: length + executable: /Programs/ffmpeg/bin/ffprobe.exe + arguments: + - -v + - error + - -select_streams + - v:0 + - -show_entries + - stream=nb_frames + - -of + - default=noprint_wrappers=1:nokey=1 + - "%i" + \ No newline at end of file diff --git a/server/hu.user.mediacube.executors.tests/src/hu/user/mediacube/executors/tests/SmallTests.java b/server/hu.user.mediacube.executors.tests/src/hu/user/mediacube/executors/tests/SmallTests.java index 8bc9adad..63de728e 100644 --- a/server/hu.user.mediacube.executors.tests/src/hu/user/mediacube/executors/tests/SmallTests.java +++ b/server/hu.user.mediacube.executors.tests/src/hu/user/mediacube/executors/tests/SmallTests.java @@ -60,6 +60,7 @@ import user.commons.RemoteFile; import user.commons.StoreUri; import user.commons.configuration.IConfiguration; import user.commons.configuration.SystemConfiguration; +import user.commons.mediaarea.MediaArea; import user.commons.mediaarea.StreamKind; import user.commons.mediatool.Timecode; import user.commons.mediatool.Timecode.Type; @@ -70,7 +71,9 @@ import user.jobengine.db.Media; import user.jobengine.server.steps.ArchiveItem; import user.jobengine.server.steps.EscortFiles; import user.jobengine.server.steps.FFMpeg; +import user.jobengine.server.steps.MediaCubeClient; import user.jobengine.server.steps.TSMExtendedRetrieveStep; +import user.jobengine.server.steps.shared.ExternalCommandExecutor; public class SmallTests { class Pojo extends PojoRoot { @@ -1352,4 +1355,45 @@ public class SmallTests { } } + //MediaCube client + @Test + public void test999994() throws Exception { + MediaCubeClient mc = new MediaCubeClient("http://localhost:9080"); + BasicDBObject params = new BasicDBObject("param", 10L); + long jobId = mc.startjob("cancelable.xml", "Teszt job", params); + System.out.println("Started " + jobId); + while (true) { + BasicDBObject status = mc.getStatus(jobId); + String jobStatus = status.getString("status"); + System.out.println(jobStatus + ", " + status.getString("progress")); + Thread.sleep(1000); + if ("SUSPENDED".equals(jobStatus) || "FINISHED".equals(jobStatus)) + break; + } + } + + @Test + public void test999995() throws Exception { + long progress[] = { 0, 0 }; + System.setProperty("user.dir", "c:\\temp"); + System.setProperty("jna.library.path", "c:\\temp"); + System.setProperty("java.library.path", "c:\\temp"); + MediaArea ma = new MediaArea(Paths.get("c:\\_workspace\\data\\video\\1.mxf")); + System.out.println(ma.inform()); + ma.process(); + System.out.println(ma.getFrameCount()); + + ExternalCommandExecutor executor = new ExternalCommandExecutor(); + executor.execute("profile1", "c:\\_workspace\\data\\video\\1.mxf", "c:\\_video\\test1.mp4", e -> { + String[] values = e.split("="); + if ("frame".equals(values[0])) { + progress[1] = Integer.parseInt(values[1]); + + long p = (int) (progress[1] * 100) / progress[0]; + if (p > 0) + System.out.println(p); + } + }); + } + } diff --git a/server/hu.user.mediacube.executors.tests/tsmapi-1.1.dll b/server/hu.user.mediacube.executors.tests/tsmapi-1.1.dll deleted file mode 100644 index b92868b42f73691b3b293f989f33fed1b413a9e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41984 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