Thanks for all help. To complete this thread, bug logged; https://jira.jboss.org/jira/browse/JBRULES-2319
Edson Tirelli-4 wrote: > > Ouch. Bug. Would you please add a JIRA for that and a test case? > > Thanks, > Edson > > 2009/10/29 richarda <[email protected]> > >> >> Ok, I have found if I run in: >> conf.setOption( EventProcessingOption.CLOUD ); >> it works.. >> >> but in >> conf.setOption( EventProcessingOption.STREAM ); >> >> i get Null for the object >> >> any idea why? >> >> >> >> richarda wrote: >> > >> > Thanks for the continued help... but >> > >> > --- >> > ArrayList<MessageAsEvent> a=new ArrayList<MessageAsEvent>(); >> > MessageAsEvent a1=new MessageAsEvent(); a1.setSerial("serial123"); >> > a1.setUuid("mesC:7"); a1.setId(888); a.add(a1); >> > MessageAsEvent a2=new MessageAsEvent(); a2.setSerial("serial123"); >> > a2.setUuid("mesC:7"); a2.setId(889);a.add(a2); >> > >> > ksession.setGlobal("hibernateSession", hibernateSession); >> > ksession.setGlobal("data", a); >> > >> > ---- >> > >> > global java.util.ArrayList data; >> > >> > rule "Repeating as signature" >> > when >> > $m : MessageAsEvent(uuid=="mesC:7") >> > $others : MessageAsEvent(uuid=="mesC:7", id!=$m.id) >> > from data >> > then >> > System.out.println("++++++++++++Gathering in signatures >> m="+$m+" >> > data="+$others); >> > insert($others); >> > end >> > >> > ---- >> > >> > and I still get; >> > Audit:- >> > >> > <org.drools.audit.event.ActivationLogEvent> >> > <type>4</type> >> > <activationId>Repeating as signature [15, 14]</activationId> >> > <rule>Repeating as signature</rule> >> > <declarations>$others=MessageAsEvent:[888] uuid=mesC:7 >> serial=serial123 >> > count=0(15); $m=MessageAsEvent:[254] uuid=mesC:7 serial=serial123 >> > count=7(14)</declarations> >> > <ruleFlowGroup>Signature</ruleFlowGroup> >> > </org.drools.audit.event.ActivationLogEvent> >> > <org.drools.audit.event.ActivationLogEvent> >> > <type>4</type> >> > <activationId>Repeating as signature [16, 14]</activationId> >> > <rule>Repeating as signature</rule> >> > <declarations>$others=MessageAsEvent:[889] uuid=mesC:7 >> serial=serial123 >> > count=0(16); $m=MessageAsEvent:[254] uuid=mesC:7 serial=serial123 >> > count=7(14)</declarations> >> > <ruleFlowGroup>Signature</ruleFlowGroup> >> > </org.drools.audit.event.ActivationLogEvent> >> > >> > Console:- >> > ++++++++++++Gathering in signatures m=MessageAsEvent:[254] uuid=mesC:7 >> > serial=serial123 count=7 data=null >> > ++++++++++++Gathering in signatures m=MessageAsEvent:[254] uuid=mesC:7 >> > serial=serial123 count=7 data=null >> > >> > with data=null being shown >> > >> > >> > >> > Edson Tirelli-4 wrote: >> >> >> >> 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 >> >> >> >> >> > >> > >> >> -- >> View this message in context: >> http://www.nabble.com/Collect-and-hibernate-tp26112042p26115484.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-tp26112042p26116993.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
