git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube...
authorSweidan Omar <TFS\sweidan.omar>
Tue, 22 Mar 2022 12:58:57 +0000 (12:58 +0000)
committerSweidan Omar <TFS\sweidan.omar>
Tue, 22 Mar 2022 12:58:57 +0000 (12:58 +0000)
server/-product/production/LOCAL/jobs/steps/shared/FileSearchFilterOptions.java [new file with mode: 0644]

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 (file)
index 0000000..b5a8d0e
--- /dev/null
@@ -0,0 +1,41 @@
+package user.jobengine.server.steps.shared;\r
+\r
+import java.nio.file.Path;\r
+import java.util.regex.Matcher;\r
+import java.util.regex.Pattern;\r
+\r
+import com.ibm.nosql.json.api.BasicDBObject;\r
+\r
+public class FileSearchFilterOptions {\r
+\r
+       private BasicDBObject filter;\r
+\r
+       public FileSearchFilterOptions(BasicDBObject filter) {\r
+               this.filter = filter;\r
+       }\r
+\r
+       public boolean acceptFile(Path file) {\r
+               if (filter == null)\r
+                       return true;\r
+\r
+               if (filter.containsKey("fileName")) {\r
+                       //.*\.(sh|ini|conf|vhost|xml|php)$\r
+                       String fileNamePattern = filter.getString("fileName");\r
+                       if (fileNamePattern == null || fileNamePattern.trim().length() == 0)\r
+                               return true;\r
+\r
+                       Pattern pattern = Pattern.compile(fileNamePattern, Pattern.CASE_INSENSITIVE);\r
+\r
+                       Matcher matcher = pattern.matcher(file.getFileName().toString());\r
+                       if (matcher.find())\r
+                               return true;\r
+\r
+               }\r
+\r
+               return false;\r
+       }\r
+\r
+       public boolean preAcceptDirectory(Path file) {\r
+               return true;\r
+       }\r
+}\r