I'm still not sure why this is a "bad idea"
I've flattened out my fact class. Now instead of a collection A has a B
In my decision table, I declare the variable
$a : Region
and one of the conditions is
$a.widget.id
(assuming that Region class has a Widget class)
I get the following error on invoking rules
xstream.mapper.CannotResolveClassException: widget : widget
It's hard for me to image a "flattened" pojo for rules to understand. In
real world, a "Person" has an "Address" and Address has a
"State" and it
goes on. Ideally I would like to give the root object to a rule engine and
write the conditions by drilling down the root object.
Unless I'm doing something wrong here, is this possible in drools?
Ross H wrote:
Just added this point to the wiki on usage patterns:
http://www.jboss.org/community/wiki/UsagePatterns
On Fri, Dec 4, 2009 at 8:09 PM, Ross H <rossh00(a)gmail.com> wrote:
> Thanks Thomas, you've added a very important category to my thoughts:
> what
> does and what doesn't work easily in drools. I think this is the most
> important category. Every framework has a degree of flexibility and
> whilst
> drools is extremely flexible, the consequences may not be that pleasant.
>
> 2009/12/4 Swindells, Thomas <TSwindells(a)nds.com>
>
> 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(a)lists.jboss.org [mailto:
>> rules-users-bounces(a)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(a)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(a)yahoo.com>
>> > To: rules-users(a)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(a)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...
>> Sent from the Drools - User mailing list archive at
Nabble.com.
>>
>> _______________________________________________
>> rules-users mailing list
>> rules-users(a)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(a)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(a)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
>>
>> _______________________________________________
>> rules-users mailing list
>> rules-users(a)lists.jboss.org
>>
https://lists.jboss.org/mailman/listinfo/rules-users
>>
>>
>
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users