--- /dev/null
+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 MediaFileSearchFilterOptions extends FileSearchFilterOptions {\r
+\r
+ private BasicDBObject filter;\r
+\r
+ public MediaFileSearchFilterOptions(BasicDBObject filter) {\r
+ super(filter);\r
+ }\r
+\r
+ @Override\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
+ @Override\r
+ public boolean preAcceptDirectory(Path file) {\r
+ return true;\r
+ }\r
+}\r