From: Sweidan Omar Date: Thu, 24 Mar 2022 08:42:29 +0000 (+0000) Subject: git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube... X-Git-Url: http://git.useribm.hu/?a=commitdiff_plain;h=90ddd1c68581418b51dd50bd2e9381d85f2297fc;p=mediacube.git git-tfs-id: [tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube;C33099 --- diff --git a/server/user.jobengine.executors/src/user/jobengine/server/steps/ProResArchiveStep.java b/server/user.jobengine.executors/src/user/jobengine/server/steps/ProResArchiveStep.java new file mode 100644 index 00000000..d3fcfaf9 --- /dev/null +++ b/server/user.jobengine.executors/src/user/jobengine/server/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); + } +}