Hi Bill,

I think it should be:

$a : Person(age > 35 | < 25, zipCode == 23546 | == 68590)

Edson, Mark or Michael can probably confirm or correct the above syntax.

Make sure you are running of the latest trunk.

cheers
Steve

On 2/18/07, Bill Zhang <[EMAIL PROTECTED]> wrote:

I tried:

$a : Person(age > 35 || age < 25, zipCode == 23546 || == 68590)

Errors:
org.drools.rule.InvalidRulePackage: unknown:39:30 Unexpected token '||'
unknown:39:40 mismatched token: [EMAIL PROTECTED],1040:1041='<=',<47>,39:40];
expecting type '('
unknown:39:92 mismatched token: [EMAIL PROTECTED],1092:1092='<',<46>,39:92];
expecting type '('

I also tried

$a : Person(age > 35 | age < 25, zipCode == 23546 | == 68590)

Pretty much the same error.

Based on the document, "||" is only valid for columns...


On 2/17/07, Bill Zhang <[EMAIL PROTECTED]> wrote:
> Thank you Steve. But I got syntax error using the following.
>
> On 2/17/07, Steven Williams <[EMAIL PROTECTED]> wrote:
> > In trunk I think you can use connective constraints:
> >
> > $a : Person(age > 35 | < 25, zipCode == 23546 | == 68590)
> > then
> > $a.setStatus("KT");
> >
> >
> >
> >
> > On 2/18/07, Bill Zhang <[EMAIL PROTECTED]> wrote:
> > >
> > > Hello,
> > >
> > > I am a new Drools user trying to convert the following simple logic
into
> > DRL:
> > >
> > > IF (Person.Age > 35 OR Person.Age < 25) AND (Person.ZipCode = 23546
or
> > > Person.ZipCode = 68590)
> > > THEN
> > > Person.Status = "KT";
> > >
> > > I found that it is not easy to convert the above logic into ONE DRL
rule.
> > >
> > > I tried something like this
> > >
> > > when
> > > $a: Person(age>35) or Person (age<25)
> > > $b: Person(Zipcode==23456) or Person (ZipCode == 68590)
> > > $c: $a and $b
> > > Then
> > > $c.setStatus("KT")
> > >
> > > But looks like I can not use
> > > $c: $a and $b
> > > becaue in Drools, you can only bind variable to column, not to other
> > varaibles.
> > >
> > > Please advise how to do this. I would imagine this should be quite
> > > simple, maybe I missed something quite obvious.
> > >
> > > I know that I can write custom Java method to do this, but if I do
> > > that, I suppose I lose the power of RETEOO pattern matching (pattern
> > resuing,
> > > etc.). So I prefer not to do that.
> > >
> > > I also understand I can break the above logic into 4 rules and that
> > > would be quite easy, but our business user is not used to think in
> > > that way. Also, we have more complex logic than the above. So what I
> > > want is to see if there is a way to convert this
> > > kind of logic in ONE DRL rule.
> > >
> > > Thanks in advance.
> > >
> > > Bill
> > > _______________________________________________
> > > rules-users mailing list
> > > [email protected]
> > > https://lists.jboss.org/mailman/listinfo/rules-users
> > >
> >
> >
> >
> > --
> > Steven Williams
> >
> > Supervising Consultant
> >
> > Object Consulting
> > Office: 8615 4500 Mob: 0439 898 668 Fax: 8615 4501
> > [EMAIL PROTECTED]
> > www.objectconsulting.com.au
> >
> > consulting | development | training | support
> > our experience makes the difference
> > _______________________________________________
> > 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




--
Steven Williams

Supervising Consultant

Object Consulting
Office: 8615 4500 Mob: 0439 898 668 Fax: 8615 4501
[EMAIL PROTECTED]
www.objectconsulting.com.au

consulting | development | training | support
our experience makes the difference
_______________________________________________
rules-users mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/rules-users

Reply via email to