From 2f114ae4a1a8a609cce6476f1b810a6ac0213ba3 Mon Sep 17 00:00:00 2001 From: Sweidan Omar Date: Wed, 23 Mar 2022 12:26:55 +0000 Subject: [PATCH] git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube;C33080 --- .../LOCAL/jobs/steps/ValidateProResStep.java | 65 +++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 server/-product/production/LOCAL/jobs/steps/ValidateProResStep.java diff --git a/server/-product/production/LOCAL/jobs/steps/ValidateProResStep.java b/server/-product/production/LOCAL/jobs/steps/ValidateProResStep.java new file mode 100644 index 00000000..3d972860 --- /dev/null +++ b/server/-product/production/LOCAL/jobs/steps/ValidateProResStep.java @@ -0,0 +1,65 @@ +package user.jobengine.server.steps; + +import java.io.IOException; +import java.nio.file.Paths; +import java.sql.Timestamp; +import java.util.Map; + +import org.apache.commons.io.FilenameUtils; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +import user.commons.DownloadableMedia; +import user.commons.StoreUri; +import user.commons.mediaarea.MediaArea; +import user.commons.remotestore.RemoteStoreProtocol; +import user.jobengine.server.steps.shared.EscortFiles; + +public class ValidateProResStep extends JobStep { + private static final Logger logger = LogManager.getLogger(); + + @StepEntry + public Object[] execute(Map proResFiles, String sourceStoreFolder, String targetStoreFolder, + String escortStoreFolder) { + if (!proResFiles.isEmpty()) { + for (String fileName : proResFiles.keySet()) { + MediaArea mediaArea = proResFiles.get(fileName); + String title = FilenameUtils.removeExtension(fileName); + Timestamp created = null; + Timestamp modified = null; + long frameCount = mediaArea.getFrameCount(); + String videoFormat = mediaArea.getFormat(); + StoreUri sourceStoreUri = getManager().getStoreUri(sourceStoreFolder, RemoteStoreProtocol.LOCAL); +// StoreUri targetStoreUri = getManager().getStoreUri(targetStoreFolder, RemoteStoreProtocol.LOCAL); + StoreUri targetStoreUri = getManager().getStoreUri("TSM", RemoteStoreProtocol.TSM); + StoreUri escortStoreUri = getManager().getStoreUri(escortStoreFolder, RemoteStoreProtocol.LOCAL); + try { + String outputPath = Paths.get(escortStoreUri.toString(true)).toString(); + } catch (Exception e1) { + e1.printStackTrace(); + } + long mediaId = 0; + + if (mediaArea.getFrameRate() == 23.976 && videoFormat.equals("PRORES")) { + DownloadableMedia downloadable = DownloadableMedia.create(title, fileName, modified, created, + frameCount, 0, sourceStoreUri.getId(), targetStoreUri.getId(), mediaId); + String escortFileName = targetStoreFolder + "." + downloadable.getString("fileName"); + try { + if (EscortFiles.createMetadataIfNotExists(targetStoreFolder, escortFileName, + downloadable.toPrettyString(""))) { + logger.info(getMarker(), "Archive status file created for {}", fileName); + } else { + logger.info(getMarker(), "Archive status file already exists for {}", fileName); + } + } catch (IOException e) { + logger.error("{}", e.getCause()); + e.printStackTrace(); + } + } + } + } else { + logger.info("proResFiles is empty!"); + } + return null; + } +} -- 2.54.0