One way it has been done in the past is to have some rule with a higher salience take that "root" object and "explode" it into the children objects (as deep as needed). 

On Fri, Feb 5, 2010 at 3:01 AM, gazzaaa87 <dan_hopwood@hotmail.co.uk> wrote:

Hi all,

I am using a StatelessKnowledgeSession and therefore call the execute method
to invoke the rules engine. Having carried out a basic test, it would appear
that calling execute on an arbitrarily complex object does not insert child
objects, rather rules will only fire if they are based on the parent.

e.g. let's say you have a class called 'Father', which holds a collection of
'Child' objects. By calling session.execute(fatherObject) I need rules to
fire that use the Child pattern without having to loop through 'insert'ing
all the child elements manually.

Has anyone come across a way around this? The only thing I managed to find
was the use of a Batch Executor but you have to set that up before calling
execute and therefore it's still effectively a manual process.

If only Drools used java annotations, it would be ideal to specify behaviour
similar to cascade with JPA.

Any help or pointers much appreciated!

Dan
--
View this message in context: http://n3.nabble.com/Executing-on-a-arbitrarily-complex-object-tp187271p187271.html
Sent from the Drools - Dev mailing list archive at Nabble.com.
_______________________________________________
rules-dev mailing list
rules-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-dev



--
Michael D Neale
home: www.michaelneale.net
blog: michaelneale.blogspot.com