<div class="gmail_quote">On Wed, Jun 8, 2011 at 6:33 PM, Jochen Topf <span dir="ltr"><<a href="mailto:jochen@remote.org">jochen@remote.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div><div></div><div class="h5">> Hmm, a somewhat rambling email :-)  Any thoughts?<br>
<br>
</div></div>A flexible mechanism like this would be very interesting and useful, but I also<br>
see a lot of potential for confusion. Some tasks can handle certain extra data,<br>
some tasks can't. Some would only work if extra data is present, some would<br>
silently do wrong things when expected data is not present, etc. Currently<br>
all tasks can be plugged together and if you are trying to combine them in a<br>
way that doesn't work (for instance a task reading change data instead of one<br>
reading plain data), Osmosis will complain.<br>
<br>
So I think this needs to be a bit more formalized so Osmosis can still make<br>
those checks.<br>
<br>
The Map<String, Object> could be connected to some registry for the strings<br>
(or the strings would be objects instead with some extra information.) For<br>
each one you would have at least the two options:<br>
If a tasks encounters an object of this type in the pipeline and doesn't<br>
understand it,<br>
* it will just ignore it and optionally pass it on<br>
* it has to complain.<br></blockquote><div><br>A central registry makes sense for the reasons you say.  I'd prefer to make registration optional though.  In other words, it would be nice to be able to register attributes if you want them to be checked properly, but for unrecognised attributes to be ignored and passed along unchanged.  I imagine it would be useful to be able to pass custom attributes for custom plugins, or even to allow special attributes in a custom XML file to be passed through the pipeline.<br>
<br>It's largely academic at this point though, I don't think I'm going to get it done :-)<br><br>Brett<br></div></div>