#311
authorSweidan Omar <TFS\sweidan.omar>
Tue, 18 Jan 2022 13:05:22 +0000 (13:05 +0000)
committerSweidan Omar <TFS\sweidan.omar>
Tue, 18 Jan 2022 13:05:22 +0000 (13:05 +0000)
git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube;C32763

server/user.jobengine.executors/src/user/jobengine/server/steps/MoveJpegToIsilonStep.java [new file with mode: 0644]

diff --git a/server/user.jobengine.executors/src/user/jobengine/server/steps/MoveJpegToIsilonStep.java b/server/user.jobengine.executors/src/user/jobengine/server/steps/MoveJpegToIsilonStep.java
new file mode 100644 (file)
index 0000000..27f7d0e
--- /dev/null
@@ -0,0 +1,72 @@
+package user.jobengine.server.steps;\r
+\r
+import java.io.IOException;\r
+import java.nio.file.FileVisitResult;\r
+import java.nio.file.FileVisitor;\r
+import java.nio.file.Files;\r
+import java.nio.file.Path;\r
+import java.nio.file.Paths;\r
+import java.nio.file.SimpleFileVisitor;\r
+import java.nio.file.attribute.BasicFileAttributes;\r
+import java.util.ArrayList;\r
+import java.util.List;\r
+import java.util.regex.Matcher;\r
+import java.util.regex.Pattern;\r
+\r
+import org.apache.logging.log4j.LogManager;\r
+import org.apache.logging.log4j.Logger;\r
+\r
+import user.commons.StoreUri;\r
+\r
+public class MoveJpegToIsilonStep extends JobStep {\r
+       private static final Logger logger = LogManager.getLogger();\r
+\r
+       @StepEntry\r
+       public Object[] execute(StoreUri uri, String protocol) throws Exception {\r
+               // TODO szerezzük a path-t meg az uri-ból\r
+               Path sourcePath;\r
+               List<String> files = new ArrayList<>();\r
+               String fileNamePattern = "yyyymmdd";\r
+\r
+               try {\r
+                       sourcePath = Paths.get(uri.toString());\r
+\r
+                       Pattern pattern = Pattern.compile(fileNamePattern, Pattern.CASE_INSENSITIVE);\r
+\r
+                       FileVisitor<Path> visitor = new SimpleFileVisitor<Path>() {\r
+\r
+                               @Override\r
+                               public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {\r
+                                       if (!file.getFileName().toString().contains("_DONE")) {\r
+                                               Matcher matcher = pattern.matcher(file.getFileName().toString());\r
+                                               if (matcher.find())\r
+                                                       files.add(file.toString());\r
+                                       }\r
+                                       return FileVisitResult.CONTINUE;\r
+                               }\r
+\r
+                               @Override\r
+                               public FileVisitResult visitFileFailed(Path file, IOException exc) throws IOException {\r
+                                       return FileVisitResult.CONTINUE;\r
+                               }\r
+                       };\r
+\r
+                       try {\r
+                               Files.walkFileTree(sourcePath, visitor);\r
+                       } catch (Exception e) {\r
+                               logger.error(getMarker(), "Error processing '{}'. System message: {}", sourcePath, e.getMessage());\r
+                               logger.catching(e);\r
+                               throw e;\r
+                       } finally {\r
+                       }\r
+\r
+                       logger.info(getMarker(), "Found {} files", files.size());\r
+\r
+               } catch (Exception e) {\r
+                       logger.debug("e.stackTrace: {}", e.getStackTrace());\r
+               }\r
+\r
+//             return new Object[] { files };\r
+               return null;\r
+       }\r
+}
\ No newline at end of file