Thanks for your reply but this does not do what I want to do because I don't want to put more priority to a rule over another one, I want this rule to fire with the price object that has the highest length field, considering there are more than one Price objects in the WM.

Any other ideas?? Am I trying something impossible or should I take another approach?

fakhfakh ismail a écrit :
you can affect a numero to salience in fact salience is used to give a priority to rule and the rule who has the numero of salience more priority
rule "Price Product rule using price length"
salience 500 ( for exemple  )
when
$s : Product (length > 0)
$price : Price($length: length)
then
$s.setAmount($s.getAmount() + $price.getAmount());
$s.setLength($s.getLength() - $length.intValue());
modify($s);
end


*/Maxime <[EMAIL PROTECTED]>/* a écrit :

    Hello,

    I'm trying to find how to manage priority within a rule. Let me
    explain
    the problem. I'll try to be as clear as possible but bear with me
    since
    I am new to rules.

    We have two objects, the Product is the object I'm trying to price
    and
    the object Price is the one that knows all the prices. Both
    products and
    prices have fields amount and length. Product amount is
    initialized to
    0 and prices are going to determine the product amount depending
    on its
    length.

    Let's see an example :

    Product : P -> length = 5, amount = 0
    Price : P1 -> length = 1, amount = 50
    Price : P2 -> length = 3, amount = 100

    With this configuration, after asserting the 3 objects to the WM, the
    amount field of Product P should have a value of 200 ( 1*100 + 2*50)
    because the price with the greatest length should be favored over the
    other ones.

    Here is the rule I made :

    rule "Price Product rule using price length"
    when
    $s : Product (length > 0)
    $price : Price($length: length)
    then
    $s.setAmount($s.getAmount() + $price.getAmount());
    $s.setLength($s.getLength() - $length.intValue());
    modify($s);
    end

    This is obviously wrong because it always takes the first asserted
    price
    object. I don't know how to make a rule which would take the
    amount of
    the price object with the greatest length in priority.

    Any help would be very much appreciated.

    Cheers,

    Max

    _______________________________________________
    rules-users mailing list
    [email protected]
    https://lists.jboss.org/mailman/listinfo/rules-users


------------------------------------------------------------------------
Découvrez une nouvelle façon d'obtenir des réponses à toutes vos questions ! Profitez des connaissances, des opinions et des expériences des internautes sur Yahoo! Questions/Réponses <http://fr.rd.yahoo.com/evt=42054/*http://fr.answers.yahoo.com>.
------------------------------------------------------------------------

_______________________________________________
rules-users mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/rules-users
------------------------------------------------------------------------

No virus found in this incoming message.
Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.6.8/797 - Release Date: 10/05/2007 17:10

_______________________________________________
rules-users mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/rules-users

Reply via email to