This is possible, if you only have one FactObject in the working memory.
In general, I think it is probably a better idea to either pass this
data in as a parameter when starting the process (so you can store it as
a variable then), or maybe use a global (if there only is one anyway).
Kris
Quoting Anderson vasconcelos <anderson.vass(a)gmail.com>:
Hi All
To use a ForEach element i need to access a collection inside my
FactObject. (FactObject.list)
I tried to call FactObject.list inside a CollectionExpressions but
this
fail. (Just ok with list defined as a process variable)
*So i do something thats a consider a workaround:*
1- I Create a '"Action Node" before a "ForEach Node"
2-In the "Action Node", i get the FactObject and populate the
process
variable that represents FactObject.list :
*FactObject factObject =
(FactObject)drools.getKnowledgeRuntime().getObjects(new
ClassObjectFilter(FactObject.class)).iterator().next();
context.setVariable("list", factObject.getDefeitos());*
3- And on the "Foreach node" i just passed the "list" in the
CollectionExpressions
This is the correct way to do this? Has a better way to get
FactObject.list
to use on "For Each Node"?
On Eclipse, the CollectionExpression of forEach don't have a window
(Like
Action Editor) to put a MVEL/Java expressions. I think this is a
interesting
resource.
Disclaimer:
http://www.kuleuven.be/cwis/email_disclaimer.htm