[rules-users] using from with not

Edson Tirelli tirelli at post.com
Thu Oct 4 13:08:21 EDT 2007


    Chris,

    I just tested your example and it works fine in 4.0.2.SNAPSHOT. We fixed
a long list of bugs from 4.0.0 to 4.0.1/4.0.2, so I guess this is one of
them.
    My suggestion for you is: since you will need to update anyway and we
fixed the bugs you reported in JIRA, get and test the latest binary from
here:

https://hudson.jboss.org/hudson/job/drools/lastSuccessfulBuild/artifact/trunk/target/

    The only changes we expect to do in it for the 4.0.2 release are IDE
changes, so it is very close to what you will get when it is released.

     []s
     Edson


2007/10/4, Chris West <crayzfishr at gmail.com>:
>
> Attached is the eclipse project that illustrates the problem.  I use
> Drools 4.0.0, and have not tried this code with 4.0.1 (since bugs in it
> keep me from upgrading until 4.0.2).
>
> -Chris
>
> On 10/4/07, Chris West <crayzfishr at gmail.com> wrote:
> >
> > That makes it compile, but during the run I get:
> >
> > java.lang.NullPointerException
> >     at org.drools.reteoo.builder.BuildUtils.createBetaNodeConstraint(
> > BuildUtils.java:168)
> >     at org.drools.reteoo.builder.GroupElementBuilder$NotBuilder.build (
> > GroupElementBuilder.java:231)
> >     at org.drools.reteoo.builder.GroupElementBuilder.build(
> > GroupElementBuilder.java:70)
> >     at org.drools.reteoo.builder.GroupElementBuilder$AndBuilder.build(
> > GroupElementBuilder.java:112)
> >     at org.drools.reteoo.builder.GroupElementBuilder.build(
> > GroupElementBuilder.java:70)
> >     at org.drools.reteoo.builder.ReteooRuleBuilder.addSubRule(
> > ReteooRuleBuilder.java:136)
> >     at org.drools.reteoo.builder.ReteooRuleBuilder.addRule (
> > ReteooRuleBuilder.java:109)
> >     at org.drools.reteoo.ReteooBuilder.addRule(ReteooBuilder.java:116)
> >     at org.drools.reteoo.ReteooRuleBase.addRule(ReteooRuleBase.java:262)
> >     at org.drools.common.AbstractRuleBase.addPackage (
> > AbstractRuleBase.java:333)
> >     at com.sample.DroolsTest.readRule(DroolsTest.java:66)
> >     at com.sample.DroolsTest.main(DroolsTest.java:23)
> >
> >
> > -Chris
> >
> > On 10/4/07, Anstis, Michael (M.) <manstis1 at ford.com> wrote:
> > >
> > >  What if you try "not (Foo(id == 10) from $foos) "?
> > >
> > >  ------------------------------
> > > *From:* rules-users-bounces at lists.jboss.org [mailto:
> > > rules-users-bounces at lists.jboss.org] *On Behalf Of *Chris West
> > > *Sent:* 04 October 2007 16:59
> > > *To:* Rules Users List
> > > *Subject:* Re: [rules-users] using from with not
> > >
> > > It does not compile.  The error is:
> > > unknown:32:20 mismatched token: [@243,682:685='from',<38>,32:20];
> > > expecting type THEN
> > >
> > > -Chris
> > >
> > > On 10/4/07, Anstis, Michael (M.) <manstis1 at ford.com> wrote:
> > > >
> > > >  Does it not compile (in which case can you post the error)?
> > > >
> > > > Or does it not activate?
> > > >
> > > >  ------------------------------
> > > > *From:* rules-users-bounces at lists.jboss.org [mailto:
> > > > rules-users-bounces at lists.jboss.org] *On Behalf Of *Chris West
> > > > *Sent:* 04 October 2007 16:03
> > > > *To:* Rules Users List
> > > > *Subject:* [rules-users] using from with not
> > > >
> > > >  Hello,
> > > >
> > > > Does anyone know why rule "GoodBye2" below does not compile, but
> > > > rule "GoodBye1" does compile using Drools 4.0.0?  The only
> > > > difference is the "not".  Shouldn't this be valid?
> > > >
> > > > Thanks,
> > > > -Chris
> > > >
> > > >
> > > > package com.sample
> > > >
> > > > import com.sample.DroolsTest.Message;
> > > > import com.sample.DroolsTest.Foo;
> > > > import java.util.List;
> > > >
> > > > rule "Hello World"
> > > >     when
> > > >         m : Message( status == Message.HELLO, message : message )
> > > >     then
> > > >         System.out.println( message );
> > > >         m.setMessage( "Goodbye cruel world" );
> > > >         m.setStatus( Message.GOODBYE );
> > > >         update( m );
> > > > end
> > > >
> > > > rule "GoodBye1"
> > > >     no-loop true
> > > >     when
> > > >         m : Message( status == Message.GOODBYE, message : message,
> > > > $foos: foos )
> > > >         Foo(id == 10) from $foos
> > > >     then
> > > >         System.out.println ( message );
> > > >         m.setMessage( message );
> > > >
> > > > end
> > > >
> > > > rule "GoodBye2"
> > > >     no-loop true
> > > >     when
> > > >         m : Message( status == Message.GOODBYE, message : message,
> > > > $foos: foos )
> > > >         not Foo(id == 10) from $foos
> > > >     then
> > > >         System.out.println( message );
> > > >         m.setMessage( message );
> > > >
> > > > end
> > > >
> > > >
> > > > _______________________________________________
> > > > rules-users mailing list
> > > > rules-users at lists.jboss.org
> > > > https://lists.jboss.org/mailman/listinfo/rules-users
> > > >
> > > >
> > > >
> > >
> > > _______________________________________________
> > > rules-users mailing list
> > > rules-users at lists.jboss.org
> > > https://lists.jboss.org/mailman/listinfo/rules-users
> > >
> > >
> > >
> >
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>
>


-- 
  Edson Tirelli
  Software Engineer - JBoss Rules Core Developer
  Office: +55 11 3529-6000
  Mobile: +55 11 9287-5646
  JBoss, a division of Red Hat @ www.jboss.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20071004/ad710cb8/attachment.html 


More information about the rules-users mailing list