Hi,
I have an operator which runs in a loop, where inside the loop, different sets of attributes are added (essentially: we want to evaulate how an algorithm behaves given that we add 5, 10, 20, 50 random attributes to the dataset).
Now, I have found that the data and the meta data are not always in sync when the operator is called. Inside doWork(), the method
inputPort.getMetaData()
sometimes delivers meta data from the previous loop, while
new ExampleSetMetaData(inputPort.getData(ExampleSet.class))
delivers the correct meta data. Something similar happens in the operator's metadata transformer.
However, although it seems to work, I find that solution a bit scary, since I am not sure which side effects it might trigger. What would be the clean way to get correct meta data?
Looking forward to your help,
Heiko