* Hunsberger, Peter [2003-12-29 21:45 +0100] wrote: > Ok, figured this out: don't use copy, use processPipelineTo and use the > xmodule as the target... So far so good, except I'm not seeing the > result in the request attribute after I've written it. > > I might note that if this works we've sort of got the capabliity for > dynamically composing pipelines in flowscript: run whatever pipeline > you want to write whatever data into memory, later run a regular > pileline to aggregate this in memory data with it's normal output....
Peter, could you be more verbose how to concatenate several pipelines together with the help of the new xmodule? I'm currently using the pair WriteDOMSessionTransformer/SessionAttributeGenerator to pipe the output of one pipeline into another one. This is not an elegant solution bc it requires a session. Besides this, Vadim's comment for Bug #25517 suggests to kill the components I use. FUP cocoon-user? TIA -- Sebastian A fullquote for history on user list: > > 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... -- Die letzten Worte... des Weintrinkers: "Der hat aber einen komischen Geschmack." ************************************************************************ PGP Key: 0x1E727CE6 / 9085 48BD 8332 4BFC D80C A6CF D162 20BB 1E72 7CE6
