cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Helma van der Linden (JIRA)" <j...@apache.org>
Subject [jira] Closed: (COCOON-446) [PATCH] PNG output of SVGSerializer broken in HEAD
Date Tue, 25 Oct 2005 13:45:59 GMT
     [ http://issues.apache.org/jira/browse/COCOON-446?page=all ]
     
Helma van der Linden closed COCOON-446:
---------------------------------------

    Resolution: Fixed

> [PATCH] PNG output of SVGSerializer broken in HEAD
> --------------------------------------------------
>
>          Key: COCOON-446
>          URL: http://issues.apache.org/jira/browse/COCOON-446
>      Project: Cocoon
>         Type: Bug
>   Components: - Components: Sitemap
>     Versions: 2.0.5-dev (Current CVS)
>  Environment: Operating System: All
> Platform: All
>     Reporter: Alfred Nathaniel
>     Assignee: Cocoon Developers Team

>
> The PNGTranscoder of Batik has the habit to close the stream.  Together with 
> the cocoon.util.BufferedOutputStream used now in Cocoon.process the result is, 
> that the buffer is never written out.
> Here is the patch to blocks/batik/SVGSerializer 1.1 using an intermediate 
> ByteArrayBufferStream.  (You may consider to fix it for all serializers by 
> implementing BufferedOutputStream.close()/realClose().)
> Sorry, can't use cvs diff due to corporate firewall.
> *** SVGSerializer.java.orig     Mon Sep 16 17:35:06 2002
> --- SVGSerializer.java  Wed Oct  2 19:55:49 2002
> ***************
> *** 82,88 ****
>   import org.xml.sax.ext.LexicalHandler;
>   
>   import java.awt.Color;
> ! import java.io.BufferedOutputStream;
>   import java.io.OutputStream;
>   
>   /**
> --- 82,88 ----
>   import org.xml.sax.ext.LexicalHandler;
>   
>   import java.awt.Color;
> ! import java.io.ByteArrayOutputStream;
>   import java.io.OutputStream;
>   
>   /**
> ***************
> *** 128,134 ****
>        * Set the <code>OutputStream</code> where the XML should be serialized.
>        */
>       public void setOutputStream(OutputStream out) {
> !         this.output = new BufferedOutputStream(out);
>       }
>   
>       /**
> --- 128,134 ----
>        * Set the <code>OutputStream</code> where the XML should be serialized.
>        */
>       public void setOutputStream(OutputStream out) {
> !         this.output = out;
>       }
>   
>       /**
> ***************
> *** 264,272 ****
>       public void notify(Document doc) throws SAXException {
>           try {
>               TranscoderInput transInput = new TranscoderInput(doc);
> !             TranscoderOutput transOutput = new TranscoderOutput(this.output);
>               transcoder.transcode(transInput, transOutput);
> !             //this.output.flush();
>           } catch (Exception ex) {
>               log.error("SVGSerializer: Exception writing image", ex);
>               throw new SAXException("Exception writing image ", ex);
> --- 264,279 ----
>       public void notify(Document doc) throws SAXException {
>           try {
>               TranscoderInput transInput = new TranscoderInput(doc);
> ! 
> !           // Batik's PNGTranscoder closes the output stream.
> !           // Therefore we cannot pass it this.output directly.
> !           // Otherwise we get an exception when Cocoon.process
> !           // tries to flush/close the stream again.
> !           ByteArrayOutputStream baos = new ByteArrayOutputStream(8192);
> ! 
> !             TranscoderOutput transOutput = new TranscoderOutput(baos);
>               transcoder.transcode(transInput, transOutput);
> !             baos.writeTo(this.output);
>           } catch (Exception ex) {
>               log.error("SVGSerializer: Exception writing image", ex);
>               throw new SAXException("Exception writing image ", ex);

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


Mime
View raw message