Maybe you can define a global List so you would not need to add it as a Fact:
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.droolsimport com.test.drools.Facts.FileType;rule "Filter File Types"when$fileTypes : ???FileType( type memberOf $fileTypes )thenSystem.out.println("ALLOW");endhere'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 urlpublic 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 pathPattern 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 filePattern suffixRegex = Pattern.compile("\\.([^\\.]+)$");Matcher suffixMatcher = suffixRegex.matcher(file);while (suffixMatcher.find())suffix = suffixMatcher.group(1);//verify that the suffix is a valid suffixif (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