--- /dev/null
+package user.jobengine.server.steps;\r
+\r
+import java.io.IOException;\r
+import java.nio.file.Paths;\r
+import java.sql.Timestamp;\r
+import java.util.Map;\r
+\r
+import org.apache.commons.io.FilenameUtils;\r
+import org.apache.logging.log4j.LogManager;\r
+import org.apache.logging.log4j.Logger;\r
+\r
+import user.commons.DownloadableMedia;\r
+import user.commons.StoreUri;\r
+import user.commons.mediaarea.MediaArea;\r
+import user.commons.remotestore.RemoteStoreProtocol;\r
+import user.jobengine.server.steps.shared.EscortFiles;\r
+\r
+public class ValidateProResStep extends JobStep {\r
+ private static final Logger logger = LogManager.getLogger();\r
+\r
+ @StepEntry\r
+ public Object[] execute(Map<String, MediaArea> proResFiles, String sourceStoreFolder, String targetStoreFolder,\r
+ String escortStoreFolder) {\r
+ if (!proResFiles.isEmpty()) {\r
+ for (String fileName : proResFiles.keySet()) {\r
+ MediaArea mediaArea = proResFiles.get(fileName);\r
+ String title = FilenameUtils.removeExtension(fileName);\r
+ Timestamp created = null;\r
+ Timestamp modified = null;\r
+ long frameCount = mediaArea.getFrameCount();\r
+ String videoFormat = mediaArea.getFormat();\r
+ StoreUri sourceStoreUri = getManager().getStoreUri(sourceStoreFolder, RemoteStoreProtocol.LOCAL);\r
+// StoreUri targetStoreUri = getManager().getStoreUri(targetStoreFolder, RemoteStoreProtocol.LOCAL);\r
+ StoreUri targetStoreUri = getManager().getStoreUri("TSM", RemoteStoreProtocol.TSM);\r
+ StoreUri escortStoreUri = getManager().getStoreUri(escortStoreFolder, RemoteStoreProtocol.LOCAL);\r
+ try {\r
+ String outputPath = Paths.get(escortStoreUri.toString(true)).toString();\r
+ } catch (Exception e1) {\r
+ e1.printStackTrace();\r
+ }\r
+ long mediaId = 0;\r
+\r
+ if (mediaArea.getFrameRate() == 23.976 && videoFormat.equals("PRORES")) {\r
+ DownloadableMedia downloadable = DownloadableMedia.create(title, fileName, modified, created,\r
+ frameCount, 0, sourceStoreUri.getId(), targetStoreUri.getId(), mediaId);\r
+ String escortFileName = targetStoreFolder + "." + downloadable.getString("fileName");\r
+ try {\r
+ if (EscortFiles.createMetadataIfNotExists(targetStoreFolder, escortFileName,\r
+ downloadable.toPrettyString(""))) {\r
+ logger.info(getMarker(), "Archive status file created for {}", fileName);\r
+ } else {\r
+ logger.info(getMarker(), "Archive status file already exists for {}", fileName);\r
+ }\r
+ } catch (IOException e) {\r
+ logger.error("{}", e.getCause());\r
+ e.printStackTrace();\r
+ }\r
+ }\r
+ }\r
+ } else {\r
+ logger.info("proResFiles is empty!");\r
+ }\r
+ return null;\r
+ }\r
+}\r