From 78bc7689a77b31b4462b3fc16db9c204506e9da1 Mon Sep 17 00:00:00 2001 From: Sweidan Omar Date: Wed, 23 Mar 2022 12:27:06 +0000 Subject: [PATCH] git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube;C33081 --- .../LOCAL/jobs/steps/ProResArchiveStep.java | 58 +++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 server/-product/production/LOCAL/jobs/steps/ProResArchiveStep.java diff --git a/server/-product/production/LOCAL/jobs/steps/ProResArchiveStep.java b/server/-product/production/LOCAL/jobs/steps/ProResArchiveStep.java new file mode 100644 index 00000000..d3fcfaf9 --- /dev/null +++ b/server/-product/production/LOCAL/jobs/steps/ProResArchiveStep.java @@ -0,0 +1,58 @@ + +package user.jobengine.server.steps; + +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; + +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +import com.ibm.nosql.json.api.BasicDBObject; + +import user.jobengine.server.steps.shared.FileSearchFilterOptions; + +public class ProResArchiveStep extends PathItemsCollectorStep { + private static final Logger logger = LogManager.getLogger(); + public static final String DOT_CATCHED = ".catched"; + public static final String STATUSFOLDER = ".STATUS"; + + @Override + protected FileSearchFilterOptions createFileFilter(BasicDBObject filter) { + String fileName = filter.getString("fileName").replaceAll("[^a-zA-Z0-9]", ""); + + FileSearchFilterOptions result = new FileSearchFilterOptions(filter) { + @Override + public boolean acceptFile(Path file) { + if (!isMediaCatched(file)) {/* !catched van-e */ + return super.acceptFile(file); + } + return false; + } + }; + return result; + } + + @Override + @StepEntry + public Object[] execute(String sourceStoreFolder, BasicDBObject filter) throws Exception { + return super.execute(sourceStoreFolder, filter); + } + + /*** + * A média elérési útján alapján a .STATUS almappában vizsgálja .catch fajl + * létezését. + * + * @param mediaFile + * @return + */ + public static boolean isMediaCatched(Path mediaFile) { + Path catchedFile = createMediaCatchFilePath(mediaFile); + return Files.exists(catchedFile); + } + + public static Path createMediaCatchFilePath(Path mediaFile) { + String fileName = mediaFile.getFileName().toString() + DOT_CATCHED; + return Paths.get(mediaFile.getParent().toString(), STATUSFOLDER, fileName); + } +} -- 2.54.0