--- /dev/null
+\r
+package user.jobengine.server.steps;\r
+\r
+import java.nio.file.Files;\r
+import java.nio.file.Path;\r
+import java.nio.file.Paths;\r
+\r
+import org.apache.logging.log4j.LogManager;\r
+import org.apache.logging.log4j.Logger;\r
+\r
+import com.ibm.nosql.json.api.BasicDBObject;\r
+\r
+import user.jobengine.server.steps.shared.FileSearchFilterOptions;\r
+\r
+public class ProResArchiveStep extends PathItemsCollectorStep {\r
+ private static final Logger logger = LogManager.getLogger();\r
+ public static final String DOT_CATCHED = ".catched";\r
+ public static final String STATUSFOLDER = ".STATUS";\r
+\r
+ @Override\r
+ protected FileSearchFilterOptions createFileFilter(BasicDBObject filter) {\r
+ String fileName = filter.getString("fileName").replaceAll("[^a-zA-Z0-9]", "");\r
+\r
+ FileSearchFilterOptions result = new FileSearchFilterOptions(filter) {\r
+ @Override\r
+ public boolean acceptFile(Path file) {\r
+ if (!isMediaCatched(file)) {/* !catched van-e */\r
+ return super.acceptFile(file);\r
+ }\r
+ return false;\r
+ }\r
+ };\r
+ return result;\r
+ }\r
+\r
+ @Override\r
+ @StepEntry\r
+ public Object[] execute(String sourceStoreFolder, BasicDBObject filter) throws Exception {\r
+ return super.execute(sourceStoreFolder, filter);\r
+ }\r
+\r
+ /***\r
+ * A média elérési útján alapján a .STATUS almappában vizsgálja .catch fajl\r
+ * létezését.\r
+ *\r
+ * @param mediaFile\r
+ * @return\r
+ */\r
+ public static boolean isMediaCatched(Path mediaFile) {\r
+ Path catchedFile = createMediaCatchFilePath(mediaFile);\r
+ return Files.exists(catchedFile);\r
+ }\r
+\r
+ public static Path createMediaCatchFilePath(Path mediaFile) {\r
+ String fileName = mediaFile.getFileName().toString() + DOT_CATCHED;\r
+ return Paths.get(mediaFile.getParent().toString(), STATUSFOLDER, fileName);\r
+ }\r
+}\r