Vadim Gritsenko <[EMAIL PROTECTED]> writes:
>
> Hunsberger, Peter wrote:
>
> >Is
> >there any existing in-memory writable source available for
> reuse? Any
> >hints on how to do this?
> >
>
> Try:
> http://nagoya.apache.org/bugzilla/show_bug.cgi?id=25210
> http://nagoya.apache.org/bugzilla/show_bug.cgi?id=25517
>
Thanks, that seems to be half the picture, but I think I'm still missing
something: can I call a Cocoon pipeline using xmodule? I'm getting the
error:
"Cannot set XMLSerializer outputstream"
Which would seem to indicate a problem with the output stream, but since
I've tried using the request-attr stream from the samples and got the
same error I assume it's something to do with the input side of the
equation?
The sitemap fragment for the input data is straightforward enough:
<map:match pattern="*/_validate/**">
<map:generate src="cocoon:/{/1}/requestdata"/>
<map:transform src="stylesheets/resolve_request.xsl"/>
<map:transform
src="cocoon:/{1}/validationTemplate/{2}"/>
<map:transform type="CTcheck"/>
<map:serialize type="xml"/>
</map:match>
The flowscript looks like:
var sourceURI = "xmodule:cocoon:run/_validate/"+collection;
var destinationURI = "xmodule:request-attr:validate";
var resolver = null;
var source = null;
var destination = null;
try {
resolver = cocoon.getComponent(
Packages.org.apache.cocoon.environment.SourceResolver.ROLE );
source = resolver.resolveURI( sourceURI );
destination = resolver.resolveURI( destinationURI );
return Packages.org.apache.excalibur.source.SourceUtil.copy(
source, destination );
} finally {
if ( source != null )
resolver.release( source );
if (destination != null)
resolver.release( destination );
cocoon.releaseComponent( resolver );
}
Where "collection" is a variable previously set that tells me what
collection of metadata I'm dealing with.
Is this just a case of using the wrong protocol (If so what would it
be)? Do I perhaps need a version of Cocoon from CVS and not the 2.1.3
release?
One interesting thing to note is that the error is reported as occurring
at the "cocoon.releaseComponent( resolver);" line of the flow script...