From a3e3239b0f9b254adde3f8ba0419c2848a851853 Mon Sep 17 00:00:00 2001 From: "vasary.daniel" Date: Fri, 10 Dec 2021 11:49:19 +0000 Subject: [PATCH] git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube;C32557 --- .../server/steps/SafeDeleteRecursive.java | 54 ++++++++++++------- 1 file changed, 34 insertions(+), 20 deletions(-) diff --git a/server/user.jobengine.executors/src/user/jobengine/server/steps/SafeDeleteRecursive.java b/server/user.jobengine.executors/src/user/jobengine/server/steps/SafeDeleteRecursive.java index 2ad105e9..a3593eae 100644 --- a/server/user.jobengine.executors/src/user/jobengine/server/steps/SafeDeleteRecursive.java +++ b/server/user.jobengine.executors/src/user/jobengine/server/steps/SafeDeleteRecursive.java @@ -30,6 +30,7 @@ import com.ibm.nosql.json.api.BasicDBObject; import user.commons.IEntityBase; import user.commons.RemoteFile; import user.commons.StoreUri; +import user.commons.mediatool.MediaInfo; import user.commons.remotestore.RemoteStoreProtocol; import user.jobengine.db.Item; import user.jobengine.db.Media; @@ -122,10 +123,10 @@ public class SafeDeleteRecursive extends JobStep implements FileVisitor { @StepEntry public Object[] execute(String sourcePath) throws Exception { logger.info(getSessionMarker(), "Starting in {}", sourcePath); - logger.info(csvMarker, "{};{};{};{};{};{};{};{};{};{};{};{};{};{};{};{};{};{};", "Napló időbélyeg", "Neve", + logger.info(csvMarker, "{};{};{};{};{};{};{};{};{};{};{};{};{};{};{};{};{};{};{};", "Napló időbélyeg", "Neve", "Elérése", "Mérete", "Létrehozva", "Módosítva", "Archiválva (MC)", "Archiválva (TSM)", "Méret (TSM)", ".catched", ".killdate", ".nomd", "Archivált (MC)", "Archivált (TSM)", "Metaadat egyezés", - "Méret egyezés", "Törölhető", "Kezelendő"); + "Méret egyezés", "Törölhető", "Kezelendő", "Lejátszható"); try { String location = "/opt/test-mediacube/file_list_original.txt"; @@ -193,10 +194,10 @@ public class SafeDeleteRecursive extends JobStep implements FileVisitor { Path dirName = dir.getFileName(); if (skipPathNames.contains(dirName.toString())) { - //logger.info(getSessionMarker(), "PreVisit skip {}", dir); + // logger.info(getSessionMarker(), "PreVisit skip {}", dir); return FileVisitResult.SKIP_SUBTREE; - } //else - //logger.info(getSessionMarker(), "PreVisit {}", dir); + } // else + // logger.info(getSessionMarker(), "PreVisit {}", dir); return FileVisitResult.CONTINUE; } @@ -208,7 +209,7 @@ public class SafeDeleteRecursive extends JobStep implements FileVisitor { if (file.exists()) { logger.info(getSessionMarker(), "Törlés {}", filePath); result = true; - //result = file.delete(); + // result = file.delete(); } } catch (Exception e) { logger.error(getSessionMarker(), "A {} fájl nem törölhető. A rendszer hibaüzenete: {}", filePath, @@ -237,6 +238,18 @@ public class SafeDeleteRecursive extends JobStep implements FileVisitor { return result; } + private boolean canReadMediaInfo(Path mediaFilePath) { + boolean result = false; + try { + MediaInfo mi = new MediaInfo(mediaFilePath); + mi.process(); + result = true; + } catch (Exception e) { + logger.warn(getSessionMarker(), e.getMessage()); + } + return result; + } + private boolean processPathItem(Path mediaPath) throws Exception { if (getJobRuntime().isWaitingCancel()) { cancel(); @@ -260,12 +273,12 @@ public class SafeDeleteRecursive extends JobStep implements FileVisitor { long size = mediaFSFile.length(); Date lastModifiedDate = new Date(attr.lastModifiedTime().toMillis()); - //Date lastAccesDate = new Date(attr.lastAccessTime().toMillis()); + // Date lastAccesDate = new Date(attr.lastAccessTime().toMillis()); Date createDate = new Date(attr.creationTime().toMillis()); boolean catchedExists = EscortFiles.isMediaCatched(mediaPath); boolean noMDExists = nomdFile.toFile().exists(); boolean killdateExists = killDateFiles.size() > 0; - //boolean mediaInfoAvailable = canReadMediaInfo(mediaPath); + boolean mediaInfoAvailable = canReadMediaInfo(mediaPath); boolean mcArchived = mediaFile != null; boolean metadataEquals = false; boolean tsmArchived = false; @@ -276,13 +289,13 @@ public class SafeDeleteRecursive extends JobStep implements FileVisitor { boolean includeContains = includeList.contains(mediaPath.toString()); if (mcArchived) { - //metadata + // metadata Media media = getManager().getMedia(mediaFile.getMediaId()); mcArchivedDate = media.getCreated(); Item item = getManager().getItem(media.getItemId()); metadataEquals = checkArchiveItem(mediaPath, archiveItem, item, media); - //tsm + // tsm String tsmFileName = mediaFile.getRelativePath(); RemoteFile tsmFile = getTSMFile(tsmFileName); tsmArchived = tsmFile != null; @@ -296,17 +309,17 @@ public class SafeDeleteRecursive extends JobStep implements FileVisitor { boolean canDelete = !noMDExists && catchedExists && killdateExists && mcArchived && tsmArchived && metadataEquals; Date now = new Date(System.currentTimeMillis()); - logger.info(csvMarker, "{};{};{};{};{};{};{};{};{};{};{};{};{};{};{};{};{};{};", D(now), fileName, + logger.info(csvMarker, "{};{};{};{};{};{};{};{};{};{};{};{};{};{};{};{};{};{};{};", D(now), fileName, mediaPath.getParent(), size, D(createDate), D(lastModifiedDate), D(mcArchivedDate), D(tsmBackupDate), tsmSize, YN(catchedExists), YN(killdateExists), YN(noMDExists), YN(mcArchived), YN(tsmArchived), - YN(metadataEquals), YN(sizeEquals), YN(canDelete), YN(includeContains)); + YN(metadataEquals), YN(sizeEquals), YN(canDelete), YN(includeContains), YN(mediaInfoAvailable)); - logger.info(getSessionMarker(), "{} {}{}{}{}{}{}{}{}{}", mediaPath, YN(canDelete), YN(catchedExists), + logger.info(getSessionMarker(), "{} {}{}{}{}{}{}{}{}{}{}", mediaPath, YN(canDelete), YN(catchedExists), YN(killdateExists), YN(noMDExists), YN(mcArchived), YN(tsmArchived), YN(metadataEquals), YN(sizeEquals), - YN(includeContains)); + YN(includeContains), YN(mediaInfoAvailable)); - if (canDelete) - removeFiles(mediaPath, killDateFiles); +// if (canDelete) +// removeFiles(mediaPath, killDateFiles); return true; } @@ -348,7 +361,7 @@ public class SafeDeleteRecursive extends JobStep implements FileVisitor { @Override public FileVisitResult visitFile(Path filePath, BasicFileAttributes paramBasicFileAttributes) throws IOException { - //logger.info(getSessionMarker(), "Will checked {}", filePath); + // logger.info(getSessionMarker(), "Will checked {}", filePath); try { if (!processPathItem(filePath)) return FileVisitResult.TERMINATE; @@ -424,8 +437,8 @@ public class SafeDeleteRecursive extends JobStep implements FileVisitor { lastDir = lastDir.replace("X:", ""); lastDir = lastDir.replace("\\", "/"); lastDir = lastDir.trim(); - // if (!lastDir.endsWith(".STATUS")) - // System.out.println(">> " + lastDir); + // if (!lastDir.endsWith(".STATUS")) + // System.out.println(">> " + lastDir); } if (lastDir != null && lastDir.endsWith(".STATUS")) @@ -440,7 +453,8 @@ public class SafeDeleteRecursive extends JobStep implements FileVisitor { String len = line.substring(21, 39).trim(); if (len.length() != 0) { String fullpath = "/mnt/POLC/FINISHED_SHOWS" + lastDir + "/" + file; - //System.out.println("/mnt/POLC/FINISHED_SHOWS" + lastDir + "/" + file + " : " + len); + // System.out.println("/mnt/POLC/FINISHED_SHOWS" + lastDir + "/" + file + " : " + // + len); result.add(fullpath); } } -- 2.54.0