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

server/-product/production/LOCAL/jobs/steps/MoveJpegToIsilonStep.java [new file with mode: 0644]

diff --git a/server/-product/production/LOCAL/jobs/steps/MoveJpegToIsilonStep.java b/server/-product/production/LOCAL/jobs/steps/MoveJpegToIsilonStep.java
new file mode 100644 (file)
index 0000000..24a178f
--- /dev/null
@@ -0,0 +1,62 @@
+package user.jobengine.server.steps;\r
+\r
+import org.apache.logging.log4j.LogManager;\r
+import org.apache.logging.log4j.Logger;\r
+\r
+import java.net.URI;\r
+import java.nio.file.FileVisitResult;\r
+import java.nio.file.FileVisitor;\r
+import java.nio.file.Path;\r
+import java.nio.file.SimpleFileVisitor;\r
+import java.nio.file.attribute.BasicFileAttributes;\r
+import java.util.regex.Matcher;\r
+import java.util.regex.Pattern;\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
+               \r
+               Path sourcePath = Paths.get(sourceFolder);\r
+               List<String> files = new ArrayList<>();\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
+                               } \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
+                 } \r
+                 finally { }\r
+                 \r
+                 logger.info(getMarker(), "Found {} files", files.size());\r
+                \r
+//             return new Object[] { files };\r
+               return null;\r
+       }\r
+}
\ No newline at end of file