[ 
http://issues.apache.org/jira/browse/TOMAHAWK-648?page=comments#action_12435684 
] 
            
Martin Marinschek commented on TOMAHAWK-648:
--------------------------------------------

I just committed your fix - can anyone test if this really helps?

regards,

Martin

> Buffer component doesn't support any apecial characters
> -------------------------------------------------------
>
>                 Key: TOMAHAWK-648
>                 URL: http://issues.apache.org/jira/browse/TOMAHAWK-648
>             Project: MyFaces Tomahawk
>          Issue Type: Bug
>          Components: Buffer
>    Affects Versions: 1.1.3
>            Reporter: Tomas Havelka
>
> Buffer component doesn't support any special characters such as national 
> characters. HtmlBufferResponseWriterWrapper causes this problem. Buffer 
> temporary writer opened doesn't define character encoding at all. 
> Solution: rewrite HtmlBufferResponseWriterWrapper like this:
> public class HtmlBufferResponseWriterWrapper extends HtmlResponseWriterImpl
> {
>   /** string writer to use to write content */
>   private StringWriter stringWriter;
>   /** print writer to wrap string writer */
>   private PrintWriter writer;
>   /** original response writer*/
>   private ResponseWriter initialWriter;
>   /**
>    * Returns original faces response writer instance.
>    * @return
>    */
>   public ResponseWriter getInitialWriter()
>   {
>     return initialWriter;
>   }
>   /**
>    * Creates instance of HtmlBufferResponseWriterWrapper.
>    *
>    * @param initialWriter initial faces response writer instance
>    * @return
>    */
>   public static HtmlBufferResponseWriterWrapper getInstance(ResponseWriter 
> initialWriter)
>   {
>     StringWriter stringWriter = new StringWriter();
>     PrintWriter instanceWriter = new PrintWriter(stringWriter, true);
>     return new HtmlBufferResponseWriterWrapper(initialWriter, stringWriter, 
> instanceWriter);
>   }
>   /**
>    * Constructor.
>    *
>    * @param initialWriter original faces response writer
>    * @param stringWriter string writer that holds content
>    * @param writer writer that wrapes string writer
>    */
>   private HtmlBufferResponseWriterWrapper(ResponseWriter initialWriter, 
> StringWriter stringWriter, PrintWriter writer)
>   {
>     super(writer, (initialWriter == null) ? null : 
> initialWriter.getContentType(), 
>           (initialWriter == null) ? null : 
> initialWriter.getCharacterEncoding());
>     this.stringWriter = stringWriter;
>     this.writer = writer;
>     this.initialWriter = initialWriter;
>   }
>   /**
>    * Returns wrapper content as string.
>    * @return
>    */
>   public String toString()
>   {
>     writer.flush();
>     writer.close();
>     return stringWriter.toString();
>   }
> }
> Tom

-- 
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

        

Reply via email to