Daniel Fagerstrom wrote:
What I would propose is to create some new pipeline components that
calls postable sources, and make the block protocol postable. Then we
have four cases for the different combinations of XML or non XML input
and output respectably:
non XML -> non XML
<map:read type="service" src="block:b:/foo1"/>
non XML -> XML
<map:generate type="service" src="input.txt">
<map:parameter name="service" value="block:b:/foo2"/>
</map:generate>
XML -> XML
<map:transform type="service" src="block:b:/foo3"/>
XML -> non XML
<map:serialize type="service" src="block:b:/foo4"/>
It took me at least 5 min to understand what you mean... So I want to confirm
that I got it right. :)
Do you mean that proposed "service" Reader / Generator / Transformer will
resolve the Source object passed to it and will try to "forward" post body (if
any) of the current Request into that Source?
Do I get it right that you are proposing to introduce new PostableSource
interface?
And WRT to ModifiableSource, I do not think it is a good match here.
Semantically, good old Source.getInputStream() corresponds to GET,
ModifiableSource.getOutputStream() corresponds to PUT, so it looks like
'postable' source should not be using ModifiableSource but introduce its own
interface.
Vadim