From: Sweidan Omar Date: Tue, 22 Mar 2022 12:58:57 +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=0db507a068461a0e7d41aa72a5b476c33e1a95e6;p=mediacube.git git-tfs-id: [tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube;C33074 --- diff --git a/server/-product/production/LOCAL/jobs/steps/shared/FileSearchFilterOptions.java b/server/-product/production/LOCAL/jobs/steps/shared/FileSearchFilterOptions.java new file mode 100644 index 00000000..b5a8d0e8 --- /dev/null +++ b/server/-product/production/LOCAL/jobs/steps/shared/FileSearchFilterOptions.java @@ -0,0 +1,41 @@ +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 FileSearchFilterOptions { + + private BasicDBObject filter; + + public FileSearchFilterOptions(BasicDBObject filter) { + this.filter = filter; + } + + 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; + } + + public boolean preAcceptDirectory(Path file) { + return true; + } +}