cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From n...@swisslab.de
Subject AW: AW: Antwort: Saving the Outputstream
Date Thu, 15 Sep 2005 09:05:32 GMT
Holger,
 
thanks for the hint!
One point that is unclear for me is, how to tell a OutoutStream where it is
supposed to point on except by using the contructor.
So, how do I tell myoutoutstream that it has an OutputStream with the same
content as the original OutoutStream but is pointing to a completely
different filelocation.
 
"I remember I have a kind of CopyStream class somewhere. I'll have a look."
 
Would be cool if you finde it!
 
Regards,
Jan

  _____  

Von: holger.willenborg@armacell.com [mailto:holger.willenborg@armacell.com] 
Gesendet: Mittwoch, 14. September 2005 13:52
An: users@cocoon.apache.org
Betreff: AW: AW: Antwort: Saving the Outputstream



Jan, 

at a first glimpse, your class is not doing anything but creating an empty
file. There's no link between your OutputStream and the data. 

The serializer provides its own output stream (super.output according to
this http://wiki.apache.org/cocoon/WritingSerializers ) 

Perhaps you need to replace trhe output stream by a class which writes the
output to both streams: The web browser and - in addition to that - to a
file stream. 

I think an approach would be: 


1.	try to create an OutputStream class which does the output two 2
streams (e.g. CopyOutputStream) 

2.	overwrite the setOutputStream() method in the Swlfo2pdf class 

3.	Initialize your OutputStream class using the original output stream
super.output as seconde output stream target


Anyone here who already did something like that? I remember I have a kind of
CopyStream class somewhere. I'll have a look. 

Regards 
Holger 

Jan Kohnert <J.Kohnert@swisslab.de> schrieb am 14.09.2005 13:25:55:

> Yes offcause I cant do this :) 
>   
> But some things have changed. Insted of using a Reader I extandet 
> the fo2pdf Serializer. 
> 
> package swl.test.cocoon.serialization; 
> 
> import java.io.FileNotFoundException; 
> import java.io.FileOutputStream; 
> 
> import org.apache.cocoon.serialization.FOPSerializer; 
> import org.xml.sax.SAXException; 
> 
> public class Swlfo2pdf extends FOPSerializer { 
>     
> 
>    public void endDocument(){ 
>       try { 
>          super.endDocument(); 
>          FileOutputStream myout = new
FileOutputStream("c:/temp/myout.pdf"); 
>       } catch (SAXException e) { 
>          // TODO Auto-generated catch block 
>          e.printStackTrace(); 
>       } catch (FileNotFoundException e) { 
>          // TODO Auto-generated catch block 
>          e.printStackTrace(); 
>       } 
>    } 
> } 
>   
> The serializer Swlfo2pdf runs great. I m getting the requestet 
> dokument with it, plus an empty file c:/temp/myout.pdf. But offcause
> this is'nt all I need. Instead of an empty document I want to get a 
> identical copy of the FOPSerializer's output on a servers directory 
> of my choise). But so far I've no Idea how this is suposed to work :( 
>   
> my xmap: 
> <map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0">
>     <!-- =========================== components 
> =================================== -->
>     <map:components>
>         <map:transformers default="xslt">
>             <map:transformer name="xslt-saxon" pool-grow="2" pool-
> max="32" pool-min="8"
src="org.apache.cocoon.transformation.TraxTransformer">
>                 <use-request-parameters>false</use-request-parameters>
>                 <use-browser-capabilities-db>false</use-browser-
> capabilities-db>
>                 <xslt-processor-role>saxon</xslt-processor-role>
>             </map:transformer>
>         </map:transformers>
>         <map:serializers default="html">
>             <map:serializer name="fo2pdf" src="org.apache.cocoon.
> serialization.FOPSerializer" mime-type="application/pdf"/>
>             <map:serializer name="Swlfo2pdf" src="swl.test.cocoon.
> serialization.Swlfo2pdf" mime-type="application/pdf"/>
>         </map:serializers>
>     </map:components>
>     <!-- =========================== Views 
> =================================== -->
>     <map:views>
>         <map:view name="content" from-label="content">
>             <map:serialize type="xml"/>
>         </map:view>
>         <map:view name="links" from-position="last">
>             <map:serialize type="links"/>
>         </map:view>
>     </map:views>
>     <map:pipelines>
>         <!-- =========================== Pipelines 
> ================================= -->
>         <map:pipeline>
>             <!-- PDF Pipeline -->
>             <map:match pattern="*/*/*.pdf">
>                 <map:generate src="file://c:
> /worknt/hausn/xbefund/xml/{1}/{3}.xml"/>
>                 <map:transform type="xslt-saxon" src="file://c:
> /worknt/hausn/xbefund/stylesheets/{1}/{2}.xsl"/>
>                 <map:serialize type="Swlfo2pdf"/>
>             </map:match>
>         </map:pipeline>
>     </map:pipelines>
> </map:sitemap> 
>   
>   
> Thanks, Jan 
>   
> 
> Von: holger.willenborg@armacell.com
[mailto:holger.willenborg@armacell.com] 
> Gesendet: Mittwoch, 14. September 2005 11:00
> An: users@cocoon.apache.org
> Cc: 'users@cocoon.apache.org'; users-return-82225-holger.
> willenborg=armacell.com@cocoon.apache.org
> Betreff: Antwort: Saving the Outputstream

> 
> Hi, 
> 
> Could you provide (copy/paste) the reader source and sitemap.xmap 
> extract which you are using? 
> 
> Seems as if the attachment is broken. I suggest not to attach files 
> to the mailing list. 
> 
> Regards 
> Holger 
> 
> users-return-82225-holger.willenborg=armacell.com@cocoon.apache.org 
> schrieb am 13.09.2005 16:04:36:
> 
> > Hello List,
> > 
> > I m creating PDF Files using cocoons fo2pdf serializer. Everything works
> > fine. Now I want to save the created pdf file on a servers directory. I
> > wrote a Reader to get access to the outputstream in order to save it.
The
> > directory name is dependent on the transferred xml files name. To to
this I
> > wrote my own Reader. Sadly closely nothing happens when I try to save
the
> > outputstream.
> > 
> > In Addition my Reader sources and my xconf.
> > 
> > Can anyone please help me? Thanks!
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > 
> > [Anhang "src.rar" gelöscht von Holger Willenborg/Muenster/Armacell] 
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
> > For additional commands, e-mail: users-help@cocoon.apache.org

Mime
View raw message