[rules-users] Minor Issue in writing DSL

Felipe Piccolini felipe.piccolini at bluesoft.cl
Tue Aug 21 17:01:40 EDT 2007


Edson,

  What about sugar to be able to write DSLs dor this:
    DLS:
        A Person
           - having age equals to 10
           - or equals to 15
           - or greather than 20

   DRL:
      p: Person( age == 10
                 || == 15
                 || > 20)

Right now, the " - <expression>"  put a 'comma' at the end of the  
line making this:
      p: Person( age == 10, || == 15, || > 20)

What throws errors...

   Is it possible to do that? I love the || == <value> thing in each  
line...

Thanks.

On 21-08-2007, at 16:51, Edson Tirelli wrote:

>
>    Saleem,
>
>    In 4.0GA, you need to bind families first:
>
> ObjectA( $f : families, units != $f )
>
>    We will add syntax sugar to avoid the need for bind.
>
>    []s
>    Edson
>
> 2007/8/21, Saleem Lakhani <Saleem.Lakhani at citizensfla.com>:
> Thanks Edson. That helped. One more thing, can't we execute  
> something simple like: ObjectA(units != families)
>
> When both units & families are defined as int in ObjectA with their  
> public get and set methods. This is the exception I am receiving.
>
>
> org.drools.rule.InvalidRulePackage: Unable to return Declaration  
> for identifier 'families' : [Rule name=Rule6, agendaGroup=Rating,  
> salience=0, no-loop=false] Its even showing correctly in drl  
> editor. If I swap the positions of units & families then the same  
> exception is thrown for 'units'.
>
>
> regards,
>
> saleem
>
> -----Original Message-----
> From: rules-users-bounces at lists.jboss.org [mailto:rules-users- 
> bounces at lists.jboss.org] On Behalf Of Edson Tirelli
> Sent: Tuesday, August 21, 2007 1:56 PM
>
>
> To: Rules Users List
> Subject: Re: [rules-users] Minor Issue in writing DSL
>
>
>
>    Saleem,
>
>    For sure, your mapping must have some typo or mistake. A rule  
> like this works and is correct:
>
> rule XYZ
> when
>     ObjectA( application==true || banker==true || officer==true )
> then
>   // do something
> end
>
>     Drools does NOT inspect object fields... only public methods.
>
>     If you are using a DSL, make sure your "drl" file is named  
> "dslr" (this is new in 4.0), so when you open it in eclipse, you  
> have a tab that shows you the result of the DSL template  
> processing. This way you will be able to see any eventual mapping  
> mistake.
>
>     []s
>     Edson
>
>
> 2007/8/21, Saleem Lakhani < Saleem.Lakhani at citizensfla.com>:
>
> When I use the syntax below and write like:
>
>
> [when]ABC=ObjectA(application==true || banker==true || officer==true)
>
>
> on drl it gives me the following error:
>
>
> Multiple markers at this line:
>
> -        unknown:116:39 Unexpected token '=='
>
> -        unknown:116:25 Unexpected token '||'
>
> -        unknown:116:64 Unexpected token '=='
>
>
> Again, there are NO attributes in ObjectA named application, banker  
> or officer.
>
>
> Thanks
>
>
>
>
> -----Original Message-----
> From: rules-users-bounces at lists.jboss.org [mailto: rules-users- 
> bounces at lists.jboss.org] On Behalf Of Edson Tirelli
> Sent: Tuesday, August 21, 2007 9:49 AM
> To: Rules Users List
> Subject: Re: [rules-users] Minor Issue in writing DSL
>
>
>
>    Drools respects encapsulation, so it works with javabean method  
> name conventions. If you have a method isApplication() that returns  
> a boolean, does not matter how your class calculates the return  
> value. Same for any other method. In 4.0, you can write:
>
> ObjectA( application == true || banker == true )
>
>    To map that as a DSL, just follow your usual procedure and syntax.
>
>    []s
>    Edson
>
> 2007/8/21, Saleem Lakhani < Saleem.Lakhani at citizensfla.com>:
>
> Hi,
>
>
> If I had a rule written in DSL using Drools 3.0 like;
>
>
> 1.      [when] when1=r : ObjectA( )
>
> 2.      [when] when2=eval(r.isApplication() || r.isBanker())
>
>
> There are no attributes in class Object with name application and  
> banker but there are methods in ObjectA with names isApplication()  
> & isBanker() which does some work and return Boolean based on some  
> facts.
>
>
> What is the correct way of writing the same rule using Drools 4.0 ?
>
>
> Also, if the above attributes were present in ObjectA what would  
> have been the best way to write it in DSL using Drools 4.0
>
>
> Thanks,
>
>
>
>
> _______________________________________________
> 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
>
>
> _______________________________________________
> 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
>
>
> _______________________________________________
> 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
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users



Atentamente,
______________________
Felipe Piccolini Marfull
Jefe de Proyectos
Agustina 1141 Piso 8-B
Santiago

Fono    +(56 2) 68830837
E-mail felipe.piccolini at bluesoft.cl





-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20070821/917bbfd8/attachment.html 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pastedGraphic.tiff
Type: image/tiff
Size: 262986 bytes
Desc: not available
Url : http://lists.jboss.org/pipermail/rules-users/attachments/20070821/917bbfd8/attachment.tiff 


More information about the rules-users mailing list