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