--- /dev/null
+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