You must be having a problem with the hibernate query then. Just as a test, try replacing the query call with an arbitrary method call that returns a couple objects.
Edson 2009/10/29 richarda <[email protected]> > > Using Drools 5.0.1 > > I get the same results with the below rule. > I leave the System.out.println in, and the rule executes the number of > times for the number of items that should be loaded from the hibernate, > but each time the $o is still null. > > the insert seems to be ignored, audit shows no record of it, but I assume > insert(null) is ignored by drools > > > Edson Tirelli-4 wrote: > > > > Did you tried this? > > > > when > > $m : MessageAsEvent(uuid=="mesC:7") > > $o : MessageAsEvent(uuid=="mesC:7", id!=$m.id) from > > hibernateSession.createQuery("from MessageAsEvent where > > serial=?").setParameter(0,$m.serial).list() > > then > > insert($o) > > end > > > > In any case, collect should work too. Which version of drools are you > > using? > > > > []s > > Edson > > > > 2009/10/29 richarda <[email protected]> > > > >> > >> Hi again, > >> > >> I wish to have a rule that when an Event has a certain uuid then load > >> into > >> working memory all other events that have been received for this unit... > >> > >> So I write the rule: > >> > >> rule "Repeating" > >> > >> when > >> $m : MessageAsEvent(uuid=="mesC:7") > >> $others : LinkedList() from collect ( > >> MessageAsEvent(uuid=="mesC:7", id!=$m.id) > >> from hibernateSession.createQuery("from > >> MessageAsEvent where > >> serial=?").setParameter(0,$m.serial).list() > >> ) > >> then > >> System.out.println("Gathering m="+$m+" data="+$others); > >> end > >> > >> > >> Audit log shows: (wish cut and paste would work from Eclipse audit view) > >> > >> <activationId>Repeating [131, 14]</activationId> > >> <rule>Repeating FAN</rule> > >> <declarations>$others=[MessageAsEvent:[124] uuid=mesC:7 > serial=serial123 > >> count=7, MessageAsEvent:[94] uuid=mesC:7 serial=serial123 count=7, > >> MessageAsEvent:[64] uuid=mesC:7 serial=serial123 count=7, > >> MessageAsEvent:[118] uuid=mesC:7 serial=serial123 count=7, > >> MessageAsEvent:[112] uuid=mesC:7 serial=serial123 count=7, > >> MessageAsEvent:[106] uuid=mesC:7 serial=serial123 count=7, > >> MessageAsEvent:[100] uuid=mesC:7 serial=serial123 count=7, > >> MessageAsEvent:[88] uuid=mesC:7 serial=serial123 count=7, > >> MessageAsEvent:[82] uuid=mesC:7 serial=serial123 count=7, > >> MessageAsEvent:[76] uuid=mesC:7 serial=serial123 count=7, > >> MessageAsEvent:[70] uuid=mesC:7 serial=serial123 count=7, > >> MessageAsEvent:[58] uuid=mesC:7 serial=serial123 count=7, > >> MessageAsEvent:[52] uuid=mesC:7 serial=serial123 count=7, > >> MessageAsEvent:[46] uuid=mesC:7 serial=serial123 count=7, > >> MessageAsEvent:[40] uuid=mesC:7 serial=serial123 count=7, > >> MessageAsEvent:[34] uuid=mesC:7 serial=serial123 count=7](131); > >> $m=MessageAsEvent:[130] uuid=mesC:7 serial=serial123 > >> count=7(14)</declarations> > >> <ruleFlowGroup>Gathering</ruleFlowGroup> > >> > >> > >> > >> So, you can see that the rule fired with $others having all the data, > >> and > >> $m being the main uuid > >> > >> > >> but the output of the rule is: > >> Gathering m=MessageAsEvent:[130] uuid=mesC:7 serial=serial123 count=7 > >> data=null > >> > >> so, the $others has been translated to a null. > >> > >> I'm trying to copy the Expert example: > >> > >> import java.util.LinkedList; > >> > >> rule "Send a message to all mothers" > >> when > >> $town : Town( name == 'Paris' ) > >> $mothers : LinkedList() > >> from collect( Person( gender == 'F', children > 0 ) > >> from $town.getPeople() > >> ) > >> then > >> # send a message to all mothers > >> end > >> > >> which indicates that $mothers will be available in the RHS > >> > >> for reference, the audit log shows when the rule fires: > >> > >> > >> <org.drools.audit.event.ActivationLogEvent> > >> <type>6</type> > >> <activationId>Repeating [-1, 14]</activationId> > >> <rule>Repeating FAN</rule> > >> <declarations>$m=MessageAsEvent:[130] uuid=mesC:7 serial=serial123 > >> count=7(14)</declarations> > >> <ruleFlowGroup>Gathering</ruleFlowGroup> > >> > >> > >> What am I doing wrong? > >> I basically want all the MessageAsEvent added to working memory, so > later > >> other rules will do work on all the events. > >> > >> Cheers > >> Ric > >> > >> -- > >> View this message in context: > >> http://www.nabble.com/Collect-and-hibernate-tp26112042p26112042.html > >> Sent from the drools - user mailing list archive at Nabble.com. > >> > >> _______________________________________________ > >> rules-users mailing list > >> [email protected] > >> https://lists.jboss.org/mailman/listinfo/rules-users > >> > > > > > > > > -- > > Edson Tirelli > > JBoss Drools Core Development > > JBoss by Red Hat @ www.jboss.com > > > > _______________________________________________ > > rules-users mailing list > > [email protected] > > https://lists.jboss.org/mailman/listinfo/rules-users > > > > > > -- > View this message in context: > http://www.nabble.com/Collect-and-hibernate-tp26112042p26113182.html > Sent from the drools - user mailing list archive at Nabble.com. > > _______________________________________________ > rules-users mailing list > [email protected] > https://lists.jboss.org/mailman/listinfo/rules-users > -- Edson Tirelli JBoss Drools Core Development JBoss by Red Hat @ www.jboss.com
_______________________________________________ rules-users mailing list [email protected] https://lists.jboss.org/mailman/listinfo/rules-users
