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 <[email protected]> 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 <[email protected]> >> >> 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:* [email protected] [mailto: >>> [email protected]] *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 <[email protected]> >>> 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 <[email protected]> >>> > To: [email protected] >>> > 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 >>> > [email protected] >>> > 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 >>> [email protected] >>> 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 >>> [email protected] 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 >>> [email protected] 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 >>> [email protected] >>> https://lists.jboss.org/mailman/listinfo/rules-users >>> >>> >> > > _______________________________________________ > rules-users mailing list > [email protected] > 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-tp60311p68353.html Sent from the Drools - User mailing list archive at Nabble.com. _______________________________________________ rules-users mailing list [email protected] https://lists.jboss.org/mailman/listinfo/rules-users
