There is more to it ,but just to give an idea.
I thought about the idea you have given me, but just did not get an idea of how to implement
Say in the below rules itself
rule "IP Route File rule"
salience 2000
when
Line ( line matches "^.*\s+show\s+ip\s+route\s*$" )
Line ( line matches "^.*\s+dest\s+address\s*$ )
file : FileFinder()
then
file.setFileType("ip route file");
drools.halt();
end
When I encounter a line "show ip route" in a file , I know that match occured. But how do I implement it
Did you mean I should have written a separate rule like
when
Line ( line matches "^.*\s+show\s+ip\s+route\s*$" )
then
update (the above line with proceed==true )
In that case will not explode the number of rules (50 * say 3 matches)
Thanks
Shiva
On Fri, Oct 17, 2008 at 3:20 PM, Greg Barton
<greg_barton@yahoo.com> wrote:
Are you sure you want to use rules for this? If you're not going to do analysis more complex than what you've described I'd say straight java is a better option.
That being said, this is one thing to try:
1) Add a "processed" property of type boolean to Line, default value false.
2) Set processed = true on Lines that are matched
3) Have a low salience rule (lower than all other rules that match a Line) that matches a Line with processed == false and retracts it. It must be low enough priority so it fires after any other rules that could match the Line.
--- On Fri, 10/17/08, hare ram <hare.bond@gmail.com> wrote:
> From: hare ram <hare.bond@gmail.com>
> Subject: [rules-dev] Performance Question
> To: rules-dev@lists.jboss.org
> Date: Friday, October 17, 2008, 1:56 PM
> Hello all,
>
> This is the set of rules i have
>
> rule "IP Route File rule"
> salience 2000
> when
> Line ( line matches
> "^.*\s+show\s+ip\s+route\s*$" )
> Line ( line matches
> "^.*\s+dest\s+address\s*$ )
> file : FileFinder()
>
> then
> file.setFileType("ip route file");
> drools.halt();
> end
>
>
>
> All I am doing in rules is, I read each line from the given
> file, convert
> them into Line Objects and see if any of my
> rules matches. There are about 50 such rules, that will
> help me
> differentiate what kind of file is present in my input
> directory.
>
> The question I have , is there a way I can know if Line
> Object matched any
> of the rules ? If a Line Object is not matched by
> any of rules, I can just retract that object from the
> memory and prevent Out
> of Memory Exception if the file size is huge
>
> Thanks
> Shiva
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
_______________________________________________