2010-09-02 00:57:32 utc |
dhf |
Let's say you have an array or hash in your work item that created over several process steps. then in one process step you need to iterate over it. I assume you could do it within an iteration using count, but is there a way to call an each on a variable or field? the actual participant knows how to handle one of the items. |
2010-09-02 00:57:40 utc |
jmettraux |
hello |
2010-09-02 00:58:10 utc |
jmettraux |
process step = ? |
2010-09-02 00:58:31 utc |
dhf |
participant |
2010-09-02 00:59:01 utc |
jmettraux |
workitem.fields['list'].each { |elt| p(elt) } |
2010-09-02 01:00:46 utc |
dhf |
various participants as defined in the process are adding to the work item depend on the actual flow. Can you do it as a parameter to the call of the participant like you can fit an iteration using ;count? |
2010-09-02 01:01:19 utc |
jmettraux |
I don't get the question |
2010-09-02 01:01:50 utc |
jmettraux |
yes, you can pass parameters to participants |
2010-09-02 01:02:50 utc |
dhf |
concurrent_iterator :on => array.each type of call |
2010-09-02 01:03:11 utc |
dhf |
or anyother iterator |
2010-09-02 01:03:56 utc |
jmettraux |
concurrent_iterator expects a list |
2010-09-02 01:05:04 utc |
dhf |
or iterator :on_val => array.each, :to_var -> 'v' |
2010-09-02 01:05:48 utc |
jmettraux |
iterator :on_field => 'list' |
2010-09-02 01:06:09 utc |
jmettraux |
I will enhance the documentation |
2010-09-02 01:06:48 utc |
jmettraux |
ruby would choke on "array.each" |
2010-09-02 01:07:12 utc |
dhf |
I was using array as a variable name |
2010-09-02 01:08:14 utc |
jmettraux |
remember that the process definition builds a process tree (AST) |
2010-09-02 01:08:26 utc |
jmettraux |
it doesn't eval the ruby code at process runtime |
2010-09-02 01:17:07 utc |
jmettraux |
dhf: I have added a "classical case" to http://ruote.rubyforge.org/exp/iterator.html |
2010-09-02 02:11:45 utc |
dhf |
my problem is in the process by the time it gets all the data collected from the previous participants, the the number of actual elements is not known othere than by the length of the array/hash. That is why I wanted the each. I gues I could keep a field of the count after each participant does its thing. then use it as a count variable. |
2010-09-02 02:13:54 utc |
jmettraux |
${r:wi.fields['list'].length} |
2010-09-02 02:14:50 utc |
jmettraux |
seriously, I have trouble helping you, you're never giving the higher level context |
2010-09-02 02:15:15 utc |
jmettraux |
iterating over elements != getting the count of elements |
2010-09-02 02:15:24 utc |
jmettraux |
your questions are all mixed |
2010-09-02 02:23:43 utc |
jmettraux |
lol, why care, it's free |
2010-09-02 02:27:30 utc |
dhf |
sorry. there are a set of participants that process a clinical report pulling different sets of information from the report. each participant pulls different physician information and adds it to an array. different process are used on different reports. THe end participant needs to handle the final processing of the information list of physicians and their associated data. I know I can have the participant just handle all of it as one consume, but I |
2010-09-02 02:27:31 utc |
dhf |
not want to as future will require different participants depending upon other information. I want the process to call the particiapnt for each physician |
2010-09-02 02:28:08 utc |
jmettraux |
iterator will do just fine |
2010-09-02 02:29:04 utc |
jmettraux |
iterator :on_field => 'physicians, :to_field => 'physician' |
2010-09-02 10:20:04 utc |
jmettraux |
tosch_le: welcome back ! |
2010-09-02 10:20:28 utc |
tosch_le |
thanks and hello! |
2010-09-02 10:20:39 utc |
jmettraux |
hello |