Ouch. Bug. Would you please add a JIRA for that and a test case?
Thanks,
Edson
2009/10/29 richarda <richard.ambridge(a)gmail.com>
>
> 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 <richard.ambridge(a)gmail.com>
> >>
> >>>
> >>> 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 <richard.ambridge(a)gmail.com>
> >>> >
> >>> >>
> >>> >> 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
> >>> >> rules-users(a)lists.jboss.org
> >>> >>
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
> >>> > rules-users(a)lists.jboss.org
> >>> >
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
> >>> rules-users(a)lists.jboss.org
> >>>
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
> >> rules-users(a)lists.jboss.org
> >>
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
> rules-users(a)lists.jboss.org
>
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
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users