Hi, sorry for the newbi question, i'm just starting to find my way in Drools.
i want to write a rule that filters URLs with a certain suffix (e.g. jpg, gif, css, etc...). i read about global vars and other variables and i'm not sure what to do. i need to create a List with all the suffixes i want to filter, should i create it inside FileType? can you help? Eyal. ------------------------------------------- here's why i had so far: the .drl file: *package com.test.drools* * * *import com.test.drools.Facts.FileType;* * * * * *rule "Filter File Types"* * * * **when* * $fileTypes : ??? * * **FileType( type memberOf $fileTypes )* * **then* * **System.out.println("ALLOW");* *end* here's FileType: package com.commtouch.drools; import java.net.*; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Facts { // return a file type of a url public static class FileType { private String type = "html"; public FileType (URL url) { // get the path from the url //TODO: use parser to do it? String path = url.getPath(); if (path != null) { // define regex to extract file from path Pattern fileRegex = Pattern.compile("([^/]+)$"); Matcher fileMatcher = fileRegex.matcher(path); // get regex capure $1 (filename) String file = null; while (fileMatcher.find()) file = fileMatcher.group(1); String suffix = null; if (file != null) { //try to extract suffix from file Pattern suffixRegex = Pattern.compile("\\.([^\\.]+)$"); Matcher suffixMatcher = suffixRegex.matcher(file); while (suffixMatcher.find()) suffix = suffixMatcher.group(1); //verify that the suffix is a valid suffix if (suffix != null && (suffix.length()> 1 && suffix.length() < 6)) setType(suffix); } } } public void setType(String type) { this.type = type; } public String getType() { return type; } } } -- Eyal Edri
_______________________________________________ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users