Re: [rules-users] Data comparing in CONDITION column decision table

2012-03-22 Thread Vincent Legendre

Thanks for the warning, some old bugs appears clearer now !!!

Is it planned in a near future to only exclude the constraint and not 
the whole fact pattern ?

To me, it seems more accurate to do this way.

Le 19/03/2012 22:57, Michael Anstis a écrit :
This is true, but be aware that if a cell value in the Template data 
is empty the whole Fact Pattern is omitted.


For example:-

rule Discount @{row.rowNumber}
  when
Account( $v : @{field} != null )
$c : Customer( @{field} == $v , accno == @{accno} )
  then
$c.setDiscount(1);
end

If field is empty neither Account or Customer will be included 
in the generated DRL.


If accno is empty Customer will not be included in the generated DRL.

This may have an impact on what you want to achieve.

With kind regards,

Mike


___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


Re: [rules-users] Data comparing in CONDITION column decision table

2012-03-22 Thread Michael Anstis
To be honest there are no plans.

Templates are implemented internally as MVEL templates and hence String
manipulation.

At this level concepts of Pattern and Constraint have no meaning and
hence it is next to impossible to determine what impact a missing parameter
value has.

On 22 March 2012 09:40, Vincent Legendre
vincent.legen...@eurodecision.comwrote:

  Thanks for the warning, some old bugs appears clearer now !!!

 Is it planned in a near future to only exclude the constraint and not the
 whole fact pattern ?
 To me, it seems more accurate to do this way.

 Le 19/03/2012 22:57, Michael Anstis a écrit :

 This is true, but be aware that if a cell value in the Template data is
 empty the whole Fact Pattern is omitted.

 For example:-

 rule Discount @{row.rowNumber}
   when
 Account( $v : @{field} != null )
 $c : Customer( @{field} == $v , accno == @{accno} )
   then
 $c.setDiscount(1);
 end

 If field is empty neither Account or Customer will be included in
 the generated DRL.

 If accno is empty Customer will not be included in the generated DRL.

 This may have an impact on what you want to achieve.

 With kind regards,

 Mike



 ___
 rules-users mailing list
 rules-users@lists.jboss.org
 https://lists.jboss.org/mailman/listinfo/rules-users


___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


Re: [rules-users] Data comparing in CONDITION column decision table

2012-03-19 Thread Vincent LEGENDRE
Hi

Instead of using a workaround, did you have a look to rule templates ?
  - under guvnor : 
http://docs.jboss.org/drools/release/5.4.0.Beta2/drools-guvnor-docs/html_single/index.html#d0e1143
  - drl : 
http://docs.jboss.org/drools/release/5.4.0.Beta2/drools-expert-docs/html_single/index.html#d0e7501

You should be able to do exactly what you are trying to do, but properly, like 
that :

template header
field
accno

package range;

template Discount
  rule Discount @{row.rowNumber}
  when
Account( $v : @{field} != null )
$c : Customer( @{field} == $v , accno == @{accno} )
  then
$c.setDiscount(1);
  end
end template


- Mail original -
De: Sumeet Karawal sumeet.kara...@tcs.com
À: Rules Users List rules-users@lists.jboss.org
Envoyé: Jeudi 15 Mars 2012 14:20:01
Objet: Re: [rules-users] Data comparing in CONDITION column decision table

I inserted Account column with values that are always true.

Works fine. :)

Will try the same with 5.3 .

Thanks  Regards,
Sumeet




  
  From:   Wolfgang Laun wolfgang.l...@gmail.com   
  

  
  To: Rules Users List rules-users@lists.jboss.org
  

  
  Date:   03/15/2012 05:30 PM   
  

  
  Subject:Re: [rules-users] Data comparing in CONDITION column decision 
table 

  
  Sent by:rules-users-boun...@lists.jboss.org   
  

  





The documentation for 5.3.0 says
quote
To include a pattern without constraints, you can write the pattern in
front of the text for another pattern.
/quote
but it does not work with 5.2.0 and (likely) later versions.

As a workaround, re-insert the Account column and use a redundant
condition that is certainly true for all facts.

I'll have to look into this.

-W


On 15/03/2012, Sumeet Karawal sumeet.kara...@tcs.com wrote:
 Hi Wolfgang

 any other way to achieve this. I have tried many times, but no success
till
 now :(

 Thanks,
 Sumeet




   From:   Sumeet Karawal sumeet.kara...@tcs.com


   To: Rules Users List rules-users@lists.jboss.org


   Date:   03/15/2012 04:24 PM


   Subject:Re: [rules-users] Data comparing in CONDITION column
decision
 table

   Sent by:rules-users-boun...@lists.jboss.org









 After doing the changes, its taking the rules as:

 rule Discount_10
 when
 
 $a:Account(type ==
$a.getType(), accno == 1001)
 $c:Customer
 then
 
 $c.setDiscount(1);
 end


 and if I put it as $a: Account() $c: Customer(), it takes the rules as:

 rule Discount_10
 when
 
 $a:Account(type ==
$a.getType(), accno == 1001)
 $c:Customer()
 then
 
 $c.setDiscount(1);
 end

 Both these throw error..



 neither putting the $c:Customer before $a:Account is getting executed.


 Thanks  Regards,
 Sumeet
 Mailto: sumeet.kara...@tcs.com



   From:   Wolfgang Laun wolfgang.l...@gmail.com


   To: Rules Users List rules-users@lists.jboss.org


   Date:   03/15/2012 04:06 PM


   Subject:Re: [rules-users] Data comparing in CONDITION column
decision
 table

   Sent by:rules-users-boun...@lists.jboss.org







 On 15/03/2012, Sumeet Karawal sumeet.kara...@tcs.com wrote:

 How to make changes to the decision table entries to get a drl of this
 kind:


 Put
$a: Account() $c: Customer
 into the cell where you now have $c : Customer and delete the Account
 column.
 -W


 rule Discount_10
 when

   $a : Account()

   $c : Customer(type ==
 $a.getType(), accno == 1001

Re: [rules-users] Data comparing in CONDITION column decision table

2012-03-19 Thread Michael Anstis
This is true, but be aware that if a cell value in the Template data is
empty the whole Fact Pattern is omitted.

For example:-

rule Discount @{row.rowNumber}
  when
Account( $v : @{field} != null )
$c : Customer( @{field} == $v , accno == @{accno} )
  then
$c.setDiscount(1);
end

If field is empty neither Account or Customer will be included in the
generated DRL.

If accno is empty Customer will not be included in the generated DRL.

This may have an impact on what you want to achieve.

With kind regards,

Mike

On 19 March 2012 21:29, Vincent LEGENDRE
vincent.legen...@eurodecision.comwrote:

 Hi

 Instead of using a workaround, did you have a look to rule templates ?
  - under guvnor :
 http://docs.jboss.org/drools/release/5.4.0.Beta2/drools-guvnor-docs/html_single/index.html#d0e1143
  - drl :
 http://docs.jboss.org/drools/release/5.4.0.Beta2/drools-expert-docs/html_single/index.html#d0e7501

 You should be able to do exactly what you are trying to do, but properly,
 like that :

 template header
 field
 accno

 package range;

 template Discount
  rule Discount @{row.rowNumber}
  when
Account( $v : @{field} != null )
$c : Customer( @{field} == $v , accno == @{accno} )
  then
$c.setDiscount(1);
  end
 end template


 - Mail original -
 De: Sumeet Karawal sumeet.kara...@tcs.com
 À: Rules Users List rules-users@lists.jboss.org
 Envoyé: Jeudi 15 Mars 2012 14:20:01
 Objet: Re: [rules-users] Data comparing in CONDITION column decision table

 I inserted Account column with values that are always true.

 Works fine. :)

 Will try the same with 5.3 .

 Thanks  Regards,
 Sumeet




  From:   Wolfgang Laun wolfgang.l...@gmail.com

  To: Rules Users List rules-users@lists.jboss.org

  Date:   03/15/2012 05:30 PM

  Subject:Re: [rules-users] Data comparing in CONDITION column decision
 table

  Sent by:rules-users-boun...@lists.jboss.org






 The documentation for 5.3.0 says
 quote
 To include a pattern without constraints, you can write the pattern in
 front of the text for another pattern.
 /quote
 but it does not work with 5.2.0 and (likely) later versions.

 As a workaround, re-insert the Account column and use a redundant
 condition that is certainly true for all facts.

 I'll have to look into this.

 -W


 On 15/03/2012, Sumeet Karawal sumeet.kara...@tcs.com wrote:
  Hi Wolfgang
 
  any other way to achieve this. I have tried many times, but no success
 till
  now :(
 
  Thanks,
  Sumeet
 
 
 
 
From:   Sumeet Karawal sumeet.kara...@tcs.com
 
 
To: Rules Users List rules-users@lists.jboss.org
 
 
Date:   03/15/2012 04:24 PM
 
 
Subject:Re: [rules-users] Data comparing in CONDITION column
 decision
  table
 
Sent by:rules-users-boun...@lists.jboss.org
 
 
 
 
 
 
 
 
 
  After doing the changes, its taking the rules as:
 
  rule Discount_10
  when
 
 $a:Account(type ==
 $a.getType(), accno == 1001)
  $c:Customer
  then
 
 $c.setDiscount(1);
  end
 
 
  and if I put it as $a: Account() $c: Customer(), it takes the rules as:
 
  rule Discount_10
  when
 
 $a:Account(type ==
 $a.getType(), accno == 1001)
  $c:Customer()
  then
 
 $c.setDiscount(1);
  end
 
  Both these throw error..
 
 
 
  neither putting the $c:Customer before $a:Account is getting executed.
 
 
  Thanks  Regards,
  Sumeet
  Mailto: sumeet.kara...@tcs.com
 
 
 
From:   Wolfgang Laun wolfgang.l...@gmail.com
 
 
To: Rules Users List rules-users@lists.jboss.org
 
 
Date:   03/15/2012 04:06 PM
 
 
Subject:Re: [rules-users] Data comparing in CONDITION column
 decision
  table
 
Sent by:rules-users-boun...@lists.jboss.org
 
 
 
 
 
 
 
  On 15/03/2012, Sumeet Karawal sumeet.kara...@tcs.com wrote:
 
  How to make changes to the decision table entries to get a drl of this
  kind:
 
 
  Put
 $a: Account() $c: Customer
  into the cell where you now have $c : Customer and delete the Account
  column.
  -W
 
 
  rule Discount_10
  when
 
   $a : Account()
 
   $c : Customer(type ==
  $a.getType(), accno == 1001)
  then
 
   $c.setDiscount(1);
  end
 
 
  Thanks,
  Sumeet
  Mailto: sumeet.kara...@tcs.com
 
 
 
From:   Wolfgang Laun wolfgang.l...@gmail.com
 
 
To: Rules Users List rules-users@lists.jboss.org
 
 
Date:   03/15/2012 02:47 PM
 
 
Subject:Re: [rules-users] Data comparing in CONDITION column
  decision
  table
 
Sent by:rules-users-boun...@lists.jboss.org
 
 
 
 
 
 
 
  Line breaks were lost in transit, but I think that you should remove
  the quotes from
 
 type == $param
 
  if you insert an expression $a.getType().
 
  -W

Re: [rules-users] Data comparing in CONDITION column decision table

2012-03-15 Thread Wolfgang Laun
Line breaks were lost in transit, but I think that you should remove
the quotes from

   type == $param

if you insert an expression $a.getType().

-W


On 15/03/2012, Sumeet Karawal sumeet.kara...@tcs.com wrote:

 Hi,

 Can we use a data value of another object in the condition column of a
 Spreadsheet.

 For example: I have two data types(POJOs) one com.bank.Customer and other
 com.bank.Account

 in the rules I want to check whether the value entered for a particular
 field in Customer class is equal to the value entered for the corresponding
 field in the Account class. eg Customer.accType = Account.accType()


 How can we achieve this using Decision table (CONDITION Column). I have
 tried this:

 
|RuleTable
|Discount
 
|CONDITION  |CONDITION   |
 ---+|
|$a : Account   |$c : Customer   |
 ---+|
|   |type == $param
  --+---+
 | Discount |Account|Type|
 |  Rules   |   ||
 |--+---+|
 |1 |   |$a.getType()|
 |--+---+|
 |2 |   |$a.getType()|
 |--+---+|
 |3 |   |$a.getType()|
 |--+---+|
 |4 |   |$a.getType()|
 |--+---+|
 |5 |   |$a.getType()|
 |--+---+|
 |6 |   |$a.getType()|
 |--+---+|




 But it won't work. It would be great if somebody could help me on this.

 Thanks  Regards,
 Sumeet Karawal
 Mailto: sumeet.kara...@tcs.com

 =-=-=
 Notice: The information contained in this e-mail
 message and/or attachments to it may contain
 confidential or privileged information. If you are
 not the intended recipient, any dissemination, use,
 review, distribution, printing or copying of the
 information contained in this e-mail message
 and/or attachments to it are strictly prohibited. If
 you have received this communication in error,
 please notify us by reply e-mail or telephone and
 immediately and permanently delete the message
 and any attachments. Thank you



 ___
 rules-users mailing list
 rules-users@lists.jboss.org
 https://lists.jboss.org/mailman/listinfo/rules-users

___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


Re: [rules-users] Data comparing in CONDITION column decision table

2012-03-15 Thread Sumeet Karawal
when I do this I am getting the below error:

Exception in thread main java.lang.RuntimeException: Unable to Analyse
Expression $a.getType():
[Error: unable to resolve method using strict-mode:
com.example.model.Customer.$a()]
[Near : {... $a.getType() }]
 ^
[Line: 1, Column: 1] : [Rule name='Discount_10']

Unable to Analyse Expression $a.getType():
[Error: unable to resolve method using strict-mode:
com.example.model.Customer.$a()]
[Near : {... $a.getType() }]
 ^
[Line: 1, Column: 1] : [Rule name='Discount_11']

Unable to Analyse Expression $a.getType():
[Error: unable to resolve method using strict-mode:
com.example.model.Customer.$a()]
[Near : {... $a.getType() }]
 ^
[Line: 1, Column: 1] : [Rule name='Discount_12']



| 
|RuleTable
|Discount 
| 
|CONDITION  |CONDITION   |
|---+|
|$a : Account   |$c : Customer   |
|---+|
|   |type == $param   
|---+ 
|Account|Type|
|---+|
|   |$a.getType()|
|---+|
|   ||
|---+|
|   ||
|---+|
|   ||
|---+|
|   ||
|---+|
|   ||
|---+|





Howerver, when I include the following in the decision table:
| 
|RuleTable
|Discount 
| 
|CONDITION  |CONDITION   |
|---+|
|$a : Account   |$c : Customer   |
|---+|
|type   |type == $param   
|---+ 
|Account|Type|
|---+|
|savings|$a.getType()|
|---+|
|current||
|---+|
|savings||
|---+|
|current||
|---+|
|savings||
|---+|
|current||
|---+|






I am getting correct result. But here I don't want to check for the type
entered for Account class.

The generated drl is like this:

rule Discount_10
when
$c : Customer(type == $a.getType(), accno == 1001)
then
$c.setDiscount(1);
end



How to make changes to the decision table entries to get a drl of this
kind:


rule Discount_10
when
$a : Account()
$c : Customer(type == $a.getType(), accno == 1001)
then
$c.setDiscount(1);
end


Thanks,
Sumeet
Mailto: sumeet.kara...@tcs.com



  
  From:   Wolfgang Laun wolfgang.l...@gmail.com   
  

  
  To: Rules Users List rules-users@lists.jboss.org
  

  
  Date:   03/15/2012 02:47 PM   
  

  
  Subject:Re: [rules-users] Data comparing in CONDITION column decision 
table 

  
  Sent by:rules-users-boun...@lists.jboss.org

Re: [rules-users] Data comparing in CONDITION column decision table

2012-03-15 Thread Wolfgang Laun
On 15/03/2012, Sumeet Karawal sumeet.kara...@tcs.com wrote:

 How to make changes to the decision table entries to get a drl of this
 kind:


Put
   $a: Account() $c: Customer
into the cell where you now have $c : Customer and delete the Account column.
-W


 rule Discount_10
   when
   $a : Account()
   $c : Customer(type == $a.getType(), accno == 1001)
   then
   $c.setDiscount(1);
 end


 Thanks,
 Sumeet
 Mailto: sumeet.kara...@tcs.com



   From:   Wolfgang Laun wolfgang.l...@gmail.com


   To: Rules Users List rules-users@lists.jboss.org


   Date:   03/15/2012 02:47 PM


   Subject:Re: [rules-users] Data comparing in CONDITION column decision
 table

   Sent by:rules-users-boun...@lists.jboss.org







 Line breaks were lost in transit, but I think that you should remove
 the quotes from

type == $param

 if you insert an expression $a.getType().

 -W


 On 15/03/2012, Sumeet Karawal sumeet.kara...@tcs.com wrote:

 Hi,

 Can we use a data value of another object in the condition column of a
 Spreadsheet.

 For example: I have two data types(POJOs) one com.bank.Customer and other
 com.bank.Account

 in the rules I want to check whether the value entered for a particular
 field in Customer class is equal to the value entered for the
 corresponding
 field in the Account class. eg Customer.accType = Account.accType()


 How can we achieve this using Decision table (CONDITION Column). I have
 tried this:

 
|RuleTable
|Discount
 
|CONDITION  |CONDITION   |
 ---+|
|$a : Account   |$c : Customer   |
 ---+|
|   |type == $param
  --+---+
 | Discount |Account|Type|
 |  Rules   |   ||
 |--+---+|
 |1 |   |$a.getType()|
 |--+---+|
 |2 |   |$a.getType()|
 |--+---+|
 |3 |   |$a.getType()|
 |--+---+|
 |4 |   |$a.getType()|
 |--+---+|
 |5 |   |$a.getType()|
 |--+---+|
 |6 |   |$a.getType()|
 |--+---+|




 But it won't work. It would be great if somebody could help me on this.

 Thanks  Regards,
 Sumeet Karawal
 Mailto: sumeet.kara...@tcs.com

 =-=-=
 Notice: The information contained in this e-mail
 message and/or attachments to it may contain
 confidential or privileged information. If you are
 not the intended recipient, any dissemination, use,
 review, distribution, printing or copying of the
 information contained in this e-mail message
 and/or attachments to it are strictly prohibited. If
 you have received this communication in error,
 please notify us by reply e-mail or telephone and
 immediately and permanently delete the message
 and any attachments. Thank you



 ___
 rules-users mailing list
 rules-users@lists.jboss.org
 https://lists.jboss.org/mailman/listinfo/rules-users

 ___
 rules-users mailing list
 rules-users@lists.jboss.org
 https://lists.jboss.org/mailman/listinfo/rules-users




 ___
 rules-users mailing list
 rules-users@lists.jboss.org
 https://lists.jboss.org/mailman/listinfo/rules-users

___
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users


Re: [rules-users] Data comparing in CONDITION column decision table

2012-03-15 Thread Sumeet Karawal


After doing the changes, its taking the rules as:

rule Discount_10
when
$a:Account(type == $a.getType(), accno == 1001) $c:Customer
then
$c.setDiscount(1);
end


and if I put it as $a: Account() $c: Customer(), it takes the rules as:

rule Discount_10
when
$a:Account(type == $a.getType(), accno == 1001) $c:Customer()
then
$c.setDiscount(1);
end

Both these throw error..



neither putting the $c:Customer before $a:Account is getting executed.


Thanks  Regards,
Sumeet
Mailto: sumeet.kara...@tcs.com



  
  From:   Wolfgang Laun wolfgang.l...@gmail.com   
  

  
  To: Rules Users List rules-users@lists.jboss.org
  

  
  Date:   03/15/2012 04:06 PM   
  

  
  Subject:Re: [rules-users] Data comparing in CONDITION column decision 
table 

  
  Sent by:rules-users-boun...@lists.jboss.org   
  

  





On 15/03/2012, Sumeet Karawal sumeet.kara...@tcs.com wrote:

 How to make changes to the decision table entries to get a drl of this
 kind:


Put
   $a: Account() $c: Customer
into the cell where you now have $c : Customer and delete the Account
column.
-W


 rule Discount_10
when
$a : Account()
$c : Customer(type == $a.getType(), accno == 
 1001)
then
$c.setDiscount(1);
 end


 Thanks,
 Sumeet
 Mailto: sumeet.kara...@tcs.com



   From:   Wolfgang Laun wolfgang.l...@gmail.com


   To: Rules Users List rules-users@lists.jboss.org


   Date:   03/15/2012 02:47 PM


   Subject:Re: [rules-users] Data comparing in CONDITION column
decision
 table

   Sent by:rules-users-boun...@lists.jboss.org







 Line breaks were lost in transit, but I think that you should remove
 the quotes from

type == $param

 if you insert an expression $a.getType().

 -W


 On 15/03/2012, Sumeet Karawal sumeet.kara...@tcs.com wrote:

 Hi,

 Can we use a data value of another object in the condition column of a
 Spreadsheet.

 For example: I have two data types(POJOs) one com.bank.Customer and
other
 com.bank.Account

 in the rules I want to check whether the value entered for a particular
 field in Customer class is equal to the value entered for the
 corresponding
 field in the Account class. eg Customer.accType = Account.accType()


 How can we achieve this using Decision table (CONDITION Column). I have
 tried this:

 
|RuleTable
|Discount
 
|CONDITION  |CONDITION   |
 ---+|
|$a : Account   |$c : Customer   |
 ---+|
|   |type == $param
  --+---+
 | Discount |Account|Type|
 |  Rules   |   ||
 |--+---+|
 |1 |   |$a.getType()|
 |--+---+|
 |2 |   |$a.getType()|
 |--+---+|
 |3 |   |$a.getType()|
 |--+---+|
 |4 |   |$a.getType()|
 |--+---+|
 |5 |   |$a.getType()|
 |--+---+|
 |6 |   |$a.getType

Re: [rules-users] Data comparing in CONDITION column decision table

2012-03-15 Thread Sumeet Karawal
Hi Wolfgang

any other way to achieve this. I have tried many times, but no success till
now :(

Thanks,
Sumeet




  
  From:   Sumeet Karawal sumeet.kara...@tcs.com   
  

  
  To: Rules Users List rules-users@lists.jboss.org
  

  
  Date:   03/15/2012 04:24 PM   
  

  
  Subject:Re: [rules-users] Data comparing in CONDITION column decision 
table 

  
  Sent by:rules-users-boun...@lists.jboss.org   
  

  







After doing the changes, its taking the rules as:

rule Discount_10
 when
 $a:Account(type == $a.getType(), accno == 1001)
$c:Customer
 then
 $c.setDiscount(1);
end


and if I put it as $a: Account() $c: Customer(), it takes the rules as:

rule Discount_10
 when
 $a:Account(type == $a.getType(), accno == 1001)
$c:Customer()
 then
 $c.setDiscount(1);
end

Both these throw error..



neither putting the $c:Customer before $a:Account is getting executed.


Thanks  Regards,
Sumeet
Mailto: sumeet.kara...@tcs.com



  From:   Wolfgang Laun wolfgang.l...@gmail.com


  To: Rules Users List rules-users@lists.jboss.org


  Date:   03/15/2012 04:06 PM


  Subject:Re: [rules-users] Data comparing in CONDITION column decision
table

  Sent by:rules-users-boun...@lists.jboss.org







On 15/03/2012, Sumeet Karawal sumeet.kara...@tcs.com wrote:

 How to make changes to the decision table entries to get a drl of this
 kind:


Put
   $a: Account() $c: Customer
into the cell where you now have $c : Customer and delete the Account
column.
-W


 rule Discount_10
 when
 $a : Account()
 $c : 
 Customer(type ==
$a.getType(), accno == 1001)
 then
 
 $c.setDiscount(1);
 end


 Thanks,
 Sumeet
 Mailto: sumeet.kara...@tcs.com



   From:   Wolfgang Laun wolfgang.l...@gmail.com


   To: Rules Users List rules-users@lists.jboss.org


   Date:   03/15/2012 02:47 PM


   Subject:Re: [rules-users] Data comparing in CONDITION column
decision
 table

   Sent by:rules-users-boun...@lists.jboss.org







 Line breaks were lost in transit, but I think that you should remove
 the quotes from

type == $param

 if you insert an expression $a.getType().

 -W


 On 15/03/2012, Sumeet Karawal sumeet.kara...@tcs.com wrote:

 Hi,

 Can we use a data value of another object in the condition column of a
 Spreadsheet.

 For example: I have two data types(POJOs) one com.bank.Customer and
other
 com.bank.Account

 in the rules I want to check whether the value entered for a particular
 field in Customer class is equal to the value entered for the
 corresponding
 field in the Account class. eg Customer.accType = Account.accType()


 How can we achieve this using Decision table (CONDITION Column). I have
 tried this:

 
|RuleTable
|Discount
 
|CONDITION  |CONDITION   |
 ---+|
|$a : Account   |$c : Customer   |
 ---+|
|   |type == $param
  --+---+
 | Discount |Account|Type|
 |  Rules   |   ||
 |--+---+|
 |1

Re: [rules-users] Data comparing in CONDITION column decision table

2012-03-15 Thread Wolfgang Laun
The documentation for 5.3.0 says
quote
To include a pattern without constraints, you can write the pattern in
front of the text for another pattern.
/quote
but it does not work with 5.2.0 and (likely) later versions.

As a workaround, re-insert the Account column and use a redundant
condition that is certainly true for all facts.

I'll have to look into this.

-W


On 15/03/2012, Sumeet Karawal sumeet.kara...@tcs.com wrote:
 Hi Wolfgang

 any other way to achieve this. I have tried many times, but no success till
 now :(

 Thanks,
 Sumeet




   From:   Sumeet Karawal sumeet.kara...@tcs.com


   To: Rules Users List rules-users@lists.jboss.org


   Date:   03/15/2012 04:24 PM


   Subject:Re: [rules-users] Data comparing in CONDITION column decision
 table

   Sent by:rules-users-boun...@lists.jboss.org









 After doing the changes, its taking the rules as:

 rule Discount_10
when
$a:Account(type == $a.getType(), accno == 1001)
 $c:Customer
then
$c.setDiscount(1);
 end


 and if I put it as $a: Account() $c: Customer(), it takes the rules as:

 rule Discount_10
when
$a:Account(type == $a.getType(), accno == 1001)
 $c:Customer()
then
$c.setDiscount(1);
 end

 Both these throw error..



 neither putting the $c:Customer before $a:Account is getting executed.


 Thanks  Regards,
 Sumeet
 Mailto: sumeet.kara...@tcs.com



   From:   Wolfgang Laun wolfgang.l...@gmail.com


   To: Rules Users List rules-users@lists.jboss.org


   Date:   03/15/2012 04:06 PM


   Subject:Re: [rules-users] Data comparing in CONDITION column decision
 table

   Sent by:rules-users-boun...@lists.jboss.org







 On 15/03/2012, Sumeet Karawal sumeet.kara...@tcs.com wrote:

 How to make changes to the decision table entries to get a drl of this
 kind:


 Put
$a: Account() $c: Customer
 into the cell where you now have $c : Customer and delete the Account
 column.
 -W


 rule Discount_10
when
$a : Account()
$c : 
 Customer(type ==
 $a.getType(), accno == 1001)
then

 $c.setDiscount(1);
 end


 Thanks,
 Sumeet
 Mailto: sumeet.kara...@tcs.com



   From:   Wolfgang Laun wolfgang.l...@gmail.com


   To: Rules Users List rules-users@lists.jboss.org


   Date:   03/15/2012 02:47 PM


   Subject:Re: [rules-users] Data comparing in CONDITION column
 decision
 table

   Sent by:rules-users-boun...@lists.jboss.org







 Line breaks were lost in transit, but I think that you should remove
 the quotes from

type == $param

 if you insert an expression $a.getType().

 -W


 On 15/03/2012, Sumeet Karawal sumeet.kara...@tcs.com wrote:

 Hi,

 Can we use a data value of another object in the condition column of a
 Spreadsheet.

 For example: I have two data types(POJOs) one com.bank.Customer and
 other
 com.bank.Account

 in the rules I want to check whether the value entered for a particular
 field in Customer class is equal to the value entered for the
 corresponding
 field in the Account class. eg Customer.accType = Account.accType()


 How can we achieve this using Decision table (CONDITION Column). I have
 tried this:

 
|RuleTable
|Discount
 
|CONDITION  |CONDITION   |
 ---+|
|$a : Account   |$c : Customer   |
 ---+|
|   |type == $param
  --+---+
 | Discount |Account|Type|
 |  Rules   |   ||
 |--+---+|
 |1 |   |$a.getType()|
 |--+---+|
 |2 |   |$a.getType()|
 |--+---+|
 |3 |   |$a.getType()|
 |--+---+|
 |4 |   |$a.getType()|
 |--+---+|
 |5 |   |$a.getType()|
 |--+---+|
 |6 |   |$a.getType()|
 |--+---+|




 But it won't work. It would be great

Re: [rules-users] Data comparing in CONDITION column decision table

2012-03-15 Thread Sumeet Karawal
I inserted Account column with values that are always true.

Works fine. :)

Will try the same with 5.3 .

Thanks  Regards,
Sumeet




  
  From:   Wolfgang Laun wolfgang.l...@gmail.com   
  

  
  To: Rules Users List rules-users@lists.jboss.org
  

  
  Date:   03/15/2012 05:30 PM   
  

  
  Subject:Re: [rules-users] Data comparing in CONDITION column decision 
table 

  
  Sent by:rules-users-boun...@lists.jboss.org   
  

  





The documentation for 5.3.0 says
quote
To include a pattern without constraints, you can write the pattern in
front of the text for another pattern.
/quote
but it does not work with 5.2.0 and (likely) later versions.

As a workaround, re-insert the Account column and use a redundant
condition that is certainly true for all facts.

I'll have to look into this.

-W


On 15/03/2012, Sumeet Karawal sumeet.kara...@tcs.com wrote:
 Hi Wolfgang

 any other way to achieve this. I have tried many times, but no success
till
 now :(

 Thanks,
 Sumeet




   From:   Sumeet Karawal sumeet.kara...@tcs.com


   To: Rules Users List rules-users@lists.jboss.org


   Date:   03/15/2012 04:24 PM


   Subject:Re: [rules-users] Data comparing in CONDITION column
decision
 table

   Sent by:rules-users-boun...@lists.jboss.org









 After doing the changes, its taking the rules as:

 rule Discount_10
 when
 
 $a:Account(type ==
$a.getType(), accno == 1001)
 $c:Customer
 then
 
 $c.setDiscount(1);
 end


 and if I put it as $a: Account() $c: Customer(), it takes the rules as:

 rule Discount_10
 when
 
 $a:Account(type ==
$a.getType(), accno == 1001)
 $c:Customer()
 then
 
 $c.setDiscount(1);
 end

 Both these throw error..



 neither putting the $c:Customer before $a:Account is getting executed.


 Thanks  Regards,
 Sumeet
 Mailto: sumeet.kara...@tcs.com



   From:   Wolfgang Laun wolfgang.l...@gmail.com


   To: Rules Users List rules-users@lists.jboss.org


   Date:   03/15/2012 04:06 PM


   Subject:Re: [rules-users] Data comparing in CONDITION column
decision
 table

   Sent by:rules-users-boun...@lists.jboss.org







 On 15/03/2012, Sumeet Karawal sumeet.kara...@tcs.com wrote:

 How to make changes to the decision table entries to get a drl of this
 kind:


 Put
$a: Account() $c: Customer
 into the cell where you now have $c : Customer and delete the Account
 column.
 -W


 rule Discount_10
 when

   $a : Account()

   $c : Customer(type ==
 $a.getType(), accno == 1001)
 then

   $c.setDiscount(1);
 end


 Thanks,
 Sumeet
 Mailto: sumeet.kara...@tcs.com



   From:   Wolfgang Laun wolfgang.l...@gmail.com


   To: Rules Users List rules-users@lists.jboss.org


   Date:   03/15/2012 02:47 PM


   Subject:Re: [rules-users] Data comparing in CONDITION column
 decision
 table

   Sent by:rules-users-boun...@lists.jboss.org







 Line breaks were lost in transit, but I think that you should remove
 the quotes from

type == $param

 if you insert an expression $a.getType().

 -W


 On 15/03/2012, Sumeet Karawal sumeet.kara...@tcs.com wrote:

 Hi,

 Can we use a data value of another object in the condition column of a
 Spreadsheet.

 For example: I have two data types(POJOs) one com.bank.Customer and
 other