I’d agree, and to join up with the other thread is the exact reason why we need some decent ‘design pattern’ documentation to explain what does and doesn’t easily work in drools.

Depending what you are trying to do you may be able to use eval to perform the logic for you, though this will probably involve you writing the logic manually in java. See the thread Re: [rules-users] Can we use 'from' CE in Decision Tables ? for details.

 

Thomas

 

 

From: rules-users-bounces@lists.jboss.org [mailto:rules-users-bounces@lists.jboss.org] On Behalf Of Ross H
Sent: 04 December 2009 08:18
To: Rules Users List
Subject: Re: [rules-users] Need help related to collection of data accessingin rule file.

 

In my limited experience, I'm not sure you can do this in decision tables, but given the flexibility of Drools there may be a way, but I'm not sure this is a good thing. 

 

I suspect the rules you create will be really ugly and not support your longer term goals of flexibility. It might be better to transform your data into a better fact model that gives you the ability to create real business rules that are understandable.

 

It appears that it is better to create a fact model that is more shallow and uses almost relational concepts to relate the facts together rather than a deeply nested model (I suspect you are getting this from some really ugly xml structure). So whilst it's a pain, I would reconsider your core domain/fact model.

On Fri, Dec 4, 2009 at 4:08 PM, Pritam <infinity2heaven@gmail.com> wrote:


I have the same problem as I'm trying to create a decision table via excel
where the fact is a root object A where A has a collection B, and B has a
collection C. My rules are based out of the instance A, loop for each object
in B, and within that, loop each object in C. Not sure how I can write an
expression for the same.

>From the examples, I see that one can access a particular element in A by
$a.listname[1] but in my case, I need to access all elements in the loop.

Any suggestions?


prasad raju sagi wrote:
>
> Hi ,
>
> I am trying to create rule  on a fact , which contains arraylist of
> collection and the object in the collection internally contains an
> arraylist of another collection of objects.
>
> This looks like  object A contains collection of objects B and B contains
> collection object C
>
> A ->  blist ( Arraylist )
>
> B -> clist (ArrayList<C> )
>
> C-> dlist( ArrayList<D>)
>
> D-> type ( string)
>
> I am inseting A as fact to the working memory.
>
> I am in confusion state like how to write the rule to place conditions  on
> collection C.
>
> Can I use from in the form of nested from in rule statment.
> Thanks
> Prasad Raju Sagi
> Mobile: 847-644-4103
>
>
>
>
> ________________________________
> From: Aziz Boxwala <boxwala@yahoo.com>
> To: rules-users@lists.jboss.org
> Sent: Thursday, June 11, 2009 1:58:28 PM
> Subject: [rules-users] process order example not working fully
>
>
> I am trying to execute a ruleflow and use rules to assign tasks within the
> ruleflow in Drools 5.0.1. I have a drl file included in my knowledge base
> that tries to assign a task to a user when a new human task is created.
> This is based on the example in org.drools.example.process.order. I can't
> get my code to work. I don't the rules in the example are working either
> (dslr for the task assignment or the drl for dynamic logging). After some
> attempts, I found that this condition
>     WorkItemNodeInstance()
> does not evaluate to true ever.
>
> Do I have to do anything special to make the WorkItemNodeInstance appear
> in working memory?
>
> Thanks for any help.
>
> --Aziz
>
>
>
> _______________________________________________
> rules-users mailing list
> rules-users@lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>

--
View this message in context: http://n3.nabble.com/Re-Need-help-related-to-collection-of-data-accessing-in-rule-file-tp60311p67858.html
Sent from the Drools - User mailing list archive at Nabble.com.

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

 




**************************************************************************************
This message is confidential and intended only for the addressee. If you have received this message in error, please immediately notify the postmaster@nds.com and delete it from your system as well as any copies. The content of e-mails as well as traffic data may be monitored by NDS for employment and security purposes. To protect the environment please do not print this e-mail unless necessary.

NDS Limited. Registered Office: One London Road, Staines, Middlesex, TW18 4EX, United Kingdom. A company registered in England and Wales. Registered no. 3080780. VAT no. GB 603 8808 40-00
**************************************************************************************


This message is confidential and intended only for the addressee. If you have received this message in error, please immediately notify the postmaster@nds.com and delete it from your system as well as any copies. The content of e-mails as well as traffic data may be monitored by NDS for employment and security purposes.
To protect the environment please do not print this e-mail unless necessary.

An NDS Group Limited company. www.nds.com