One observation: use EnumSet instead of List if you have java 1.5 or later available. You'll get about a 40% speed increase between EnumSet.contains() and ArrayList.contains(), and it'll be even more if the List is a LinkedList. Just fyi.
--- On Thu, 5/14/09, Armaghan Mahmud <[email protected]> wrote: > From: Armaghan Mahmud <[email protected]> > Subject: [rules-users] Lists and enums in Drools > To: "Rules Users List" <[email protected]> > Date: Thursday, May 14, 2009, 4:56 AM > Hi, > > I need help with constructing rules for my scenario. > > I started off by creating enum values in the main java file > and comparing > them with the rules to get different responses for > different enum values. > That was easy. > > This time, I'm constructing a list of enum values and > passing them into the > rules engine as well. I would like to configure my rules in > such a way that > when they look for the different enum values, they should > also look in the > list to test if the enum value passed into the rules engine > is a member of > the list or not. My old rules looked like this: > > rule "Testing for Alpha" > salience 100 > when > alpha : AlphaWrapperClass(type == Class.ALPHA) > then > System.out.println("Found Alpha"); > alpha.isFound(true); > end > > I tweaked the above rule to : > > rule "Testing for Alpha" > salience 100 > when > $test: AlphaEnumCollectionsWrapperClass(alphaList : > alphaList) > alpha : AlphaWrapperClass(type == Class.ALPHA > && $test contains type ) > then > System.out.println("Found Loudspeaker Equipment. > Who wants to jam that? > Must resist... Jamming sequence in progress... "); > materiel.setJam(true); > end > > But I'm seeing the following error: > > org.drools.rule.InvalidRulePackage: Unable to create Field > Extractor for > '$test' of '[ClassObjectType > classAlphaEnumCollectionsWrapperClass]' in rule > "Testing for Alpha": [Rule name=Testing for > Alpha, agendaGroup=MAIN, > salience=100, no-loop=false] > > I'd greatly appreciate your help. > > Thanks, > Armaghan > _______________________________________________ > rules-users mailing list > [email protected] > https://lists.jboss.org/mailman/listinfo/rules-users _______________________________________________ rules-users mailing list [email protected] https://lists.jboss.org/mailman/listinfo/rules-users
