[rules-users] bounded variable...

Joel G. Rivera-González el_pio at yahoo.com
Wed Jan 10 13:28:22 EST 2007


well our product is very mature and its been ruining drools for quite some time...
so i need to change the versions to see if it give better performance and memory usage...
and while i need to rewrite the rules,  the results need to be the same...
remember the main rule lib is about 2.4 megs but we have several other smaller rule files...so i can say we have over 3 megs of xml rules...
and thats BIG...

now the big question...
when is the next release scheduled?
we i'll be able to use the or the right way?

i'm inclined to wait for next version...

 
Joel G. Rivera-Gonzalez
PRT

"The first 90% of a project takes 90% of the time, the last 10% takes the other 90% of the time" - Murphy's Law

----- Original Message ----
From: Edson Tirelli <tirelli at post.com>
To: Rules Users List <rules-users at lists.jboss.org>
Sent: Wednesday, January 10, 2007 3:06:53 PM
Subject: Re: [rules-users] bounded variable...

  Joel,

  In 3.0.x, you can not use inside a predicate, any other variable bound 
in the same pattern, besides the one that is bound to the predicate. To 
do that, you need to use an eval:

rule "modem_warranty_menu"
    when       
        megaTO:MegaTransferObject(other_EffectiveOrderTypeDsl == 
Constants.NEW_COMPLETED_ORDER_TYPE,  at:other_IsAdaAltaTraslado, 
nm:orders_NewModem )
       eval( nm.equals(Constants.FLAG_YES) || 
(nm.equals(Constants.FLAG_NO) && at.equals(Constants.FLAG_YES)) )
    then
        menu.add(new String[]{Constants.SERVICE_ASSURANCE_TREE_MENU_DSL, 
Constants.SERVICE_ASSURANCE_MENU_WARRANTY});
end

    Seems you are doing great in pushing the limitations of drools 3.0. :)
    This is also a limitation that is already solved in trunk for the 
next release.

    []s
    Edson


Joel G. Rivera-González wrote:

> rule "modem_warranty_menu"
>     when       
>         megaTO:MegaTransferObject(other_EffectiveOrderTypeDsl == 
> Constants.NEW_COMPLETED_ORDER_TYPE,
>         at:other_IsAdaAltaTraslado, nm:orders_NewModem -> 
> (nm.equals(Constants.FLAG_YES) || (nm.equals(Constants.FLAG_NO) && 
> at.equals(Constants.FLAG_YES))))
>     then
>         menu.add(new 
> String[]{Constants.SERVICE_ASSURANCE_TREE_MENU_DSL, 
> Constants.SERVICE_ASSURANCE_MENU_WARRANTY});
> end
>
> this rule cause a compilation error...
> the reason appears to be at:other_IsAdaAltaTraslado,
> why it doesnt allow me to have 2 bounded variables on the same rule?
>  
> Joel G. Rivera-Gonzalez
> PRT
>
> "The first 90% of a project takes 90% of the time, the last 10% takes 
> the other 90% of the time" - Murphy's Law
>
>------------------------------------------------------------------------
>
>_______________________________________________
>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 3124-6000
 Mobile: +55 11 9218-4151
 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




-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20070110/122edf4a/attachment.html 


More information about the rules-users mailing list