From: Sweidan Omar Date: Thu, 24 Mar 2022 09:21:16 +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=390874b888178f333d5b39928de3a2c49d20c403;p=mediacube.git git-tfs-id: [tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube;C33103 --- diff --git a/server/-product/production/LOCAL/jobs/steps/shared/MediaFileSearchFilterOptions.java b/server/-product/production/LOCAL/jobs/steps/shared/MediaFileSearchFilterOptions.java new file mode 100644 index 00000000..ee467e5b --- /dev/null +++ b/server/-product/production/LOCAL/jobs/steps/shared/MediaFileSearchFilterOptions.java @@ -0,0 +1,42 @@ +package user.jobengine.server.steps.shared; + +import java.nio.file.Path; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import com.ibm.nosql.json.api.BasicDBObject; + +public class MediaFileSearchFilterOptions extends FileSearchFilterOptions { + + private BasicDBObject filter; + + public MediaFileSearchFilterOptions(BasicDBObject filter) { + super(filter); + } + + @Override + public boolean acceptFile(Path file) { + if (filter == null) + return true; + + if (filter.containsKey("fileName")) { + // .*\.(sh|ini|conf|vhost|xml|php)$ + String fileNamePattern = filter.getString("fileName"); + if (fileNamePattern == null || fileNamePattern.trim().length() == 0) + return true; + + Pattern pattern = Pattern.compile(fileNamePattern, Pattern.CASE_INSENSITIVE); + + Matcher matcher = pattern.matcher(file.getFileName().toString()); + if (matcher.find()) + return true; + } + + return false; + } + + @Override + public boolean preAcceptDirectory(Path file) { + return true; + } +}