git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube...
authorvasary.daniel <TFS\vasary.daniel>
Fri, 10 Dec 2021 11:49:19 +0000 (11:49 +0000)
committervasary.daniel <TFS\vasary.daniel>
Fri, 10 Dec 2021 11:49:19 +0000 (11:49 +0000)
server/user.jobengine.executors/src/user/jobengine/server/steps/SafeDeleteRecursive.java

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