You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jspwiki.apache.org by me...@apache.org on 2013/06/01 19:12:22 UTC

svn commit: r1488547 - in /incubator/jspwiki/trunk: ChangeLog jspwiki-war/src/main/java/org/apache/wiki/Release.java jspwiki-war/src/main/java/org/apache/wiki/ui/WikiJSPFilter.java

Author: metskem
Date: Sat Jun  1 17:12:22 2013
New Revision: 1488547

URL: http://svn.apache.org/r1488547
Log:
2013-06-01  Harry Metske (metskem@apache.org)

       * 2.10.0-svn-2

       * JSPWIKI-396: UTF-8 characters in wiki pages incorrectly rendered if served by Weblogic

Modified:
    incubator/jspwiki/trunk/ChangeLog
    incubator/jspwiki/trunk/jspwiki-war/src/main/java/org/apache/wiki/Release.java
    incubator/jspwiki/trunk/jspwiki-war/src/main/java/org/apache/wiki/ui/WikiJSPFilter.java

Modified: incubator/jspwiki/trunk/ChangeLog
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/ChangeLog?rev=1488547&r1=1488546&r2=1488547&view=diff
==============================================================================
--- incubator/jspwiki/trunk/ChangeLog (original)
+++ incubator/jspwiki/trunk/ChangeLog Sat Jun  1 17:12:22 2013
@@ -1,3 +1,9 @@
+2013-06-01  Harry Metske (metskem@apache.org)
+
+       * 2.10.0-svn-2
+
+       * JSPWIKI-396: UTF-8 characters in wiki pages incorrectly rendered if served by Weblogic
+
 2013-05-28  Juan Pablo Santos (juanpablo AT apache DOT org)
 
        * 2.10.0-svn-1

Modified: incubator/jspwiki/trunk/jspwiki-war/src/main/java/org/apache/wiki/Release.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/jspwiki-war/src/main/java/org/apache/wiki/Release.java?rev=1488547&r1=1488546&r2=1488547&view=diff
==============================================================================
--- incubator/jspwiki/trunk/jspwiki-war/src/main/java/org/apache/wiki/Release.java (original)
+++ incubator/jspwiki/trunk/jspwiki-war/src/main/java/org/apache/wiki/Release.java Sat Jun  1 17:12:22 2013
@@ -75,7 +75,7 @@ public final class Release
      *  <p>
      *  If the build identifier is empty, it is not added.
      */
-    public static final String     BUILD         = "1";
+    public static final String     BUILD         = "2";
     
     /**
      *  This is the generic version string you should use

Modified: incubator/jspwiki/trunk/jspwiki-war/src/main/java/org/apache/wiki/ui/WikiJSPFilter.java
URL: http://svn.apache.org/viewvc/incubator/jspwiki/trunk/jspwiki-war/src/main/java/org/apache/wiki/ui/WikiJSPFilter.java?rev=1488547&r1=1488546&r2=1488547&view=diff
==============================================================================
--- incubator/jspwiki/trunk/jspwiki-war/src/main/java/org/apache/wiki/ui/WikiJSPFilter.java (original)
+++ incubator/jspwiki/trunk/jspwiki-war/src/main/java/org/apache/wiki/ui/WikiJSPFilter.java Sat Jun  1 17:12:22 2013
@@ -28,6 +28,7 @@ import javax.servlet.http.HttpServletRes
 import org.apache.log4j.NDC;
 
 import org.apache.wiki.WikiContext;
+import org.apache.wiki.WikiEngine;
 import org.apache.wiki.event.WikiEventManager;
 import org.apache.wiki.event.WikiPageEvent;
 import org.apache.wiki.url.DefaultURLConstructor;
@@ -67,6 +68,7 @@ import org.apache.wiki.util.WatchDog;
 public class WikiJSPFilter extends WikiServletFilter
 {
     private Boolean m_useOutputStream;
+    private String m_wiki_encoding = m_engine.getWikiProperties().getProperty(WikiEngine.PROP_ENCODING);
 
     /** {@inheritDoc} */
     public void init( FilterConfig config ) throws ServletException
@@ -76,9 +78,7 @@ public class WikiJSPFilter extends WikiS
         m_useOutputStream = UtilJ2eeCompat.useOutputStream( context.getServerInfo() );
     }
 
-    public void doFilter( ServletRequest  request,
-                          ServletResponse response,
-                          FilterChain     chain )
+    public void doFilter( ServletRequest  request, ServletResponse response, FilterChain chain )
         throws ServletException, IOException
     {
         WatchDog w = m_engine.getCurrentWatchDog();
@@ -92,13 +92,12 @@ public class WikiJSPFilter extends WikiS
             if( m_useOutputStream )
             {
                 log.debug( "Using ByteArrayResponseWrapper" );
-                responseWrapper = new ByteArrayResponseWrapper( (HttpServletResponse)response );
+                responseWrapper = new ByteArrayResponseWrapper( (HttpServletResponse)response, m_wiki_encoding );
             }
             else
             {
                 log.debug( "Using MyServletResponseWrapper" );
-                responseWrapper = new MyServletResponseWrapper( (HttpServletResponse)response );
-                
+                responseWrapper = new MyServletResponseWrapper( (HttpServletResponse)response, m_wiki_encoding );
             }
         
             // fire PAGE_REQUESTED event
@@ -118,13 +117,6 @@ public class WikiJSPFilter extends WikiS
                 w.enterState( "Delivering response", 30 );
                 WikiContext wikiContext = getWikiContext( request );
                 String r = filter( wikiContext, responseWrapper );
-        
-                //String encoding = "UTF-8";
-                //if( wikiContext != null ) encoding = wikiContext.getEngine().getContentEncoding();
-        
-                // Only now write the (real) response to the client.
-                // response.setContentLength(r.length());
-                // response.setContentType(encoding);
                 
                 if (m_useOutputStream) 
                 {
@@ -166,7 +158,7 @@ public class WikiJSPFilter extends WikiS
      * Goes through all types and writes the appropriate response.
      * 
      * @param wikiContext The usual processing context
-     * @param string The source string
+     * @param response The source string
      * @return The modified string with all the insertions in place.
      */
     private String filter(WikiContext wikiContext, HttpServletResponse response )
@@ -268,12 +260,12 @@ public class WikiJSPFilter extends WikiS
          */
         private static final int INIT_BUFFER_SIZE = 4096;
         
-        public MyServletResponseWrapper( HttpServletResponse r )
-        {
+        public MyServletResponseWrapper( HttpServletResponse r, final String wiki_encoding )
+                throws UnsupportedEncodingException {
             super(r);
             m_output = new CharArrayWriter( INIT_BUFFER_SIZE );
             m_servletOut = new MyServletOutputStream(m_output);
-            m_writer = new PrintWriter(m_servletOut, true);
+            m_writer = new PrintWriter(new OutputStreamWriter(m_servletOut, wiki_encoding), true);
         }
 
         /**
@@ -351,12 +343,12 @@ public class WikiJSPFilter extends WikiS
          */
         private static final int INIT_BUFFER_SIZE = 4096;
         
-        public ByteArrayResponseWrapper( HttpServletResponse r )
-        {
+        public ByteArrayResponseWrapper( HttpServletResponse r, final String wiki_encoding )
+                throws UnsupportedEncodingException {
             super(r);
             m_output = new ByteArrayOutputStream( INIT_BUFFER_SIZE );
             m_servletOut = new MyServletOutputStream(m_output);
-            m_writer = new PrintWriter(m_servletOut, true);
+            m_writer = new PrintWriter(new OutputStreamWriter(m_servletOut, wiki_encoding), true);
             m_response = r;
         }