joerg       2003/07/10 16:38:04

  Modified:    src/blocks/jsp/java/org/apache/cocoon/reading JSPReader.java
               src/blocks/jsp/java/org/apache/cocoon/generation
                        JspGenerator.java
               .        status.xml
               src/blocks/jsp/java/org/apache/cocoon/components/jsp
                        JSPEngineImplNamedDispatcherInclude.java
                        JSPEngineImplWLS.java JSPEngineImpl.java
  Log:
  reverted the changes on the default encoding (bugfix 14327), JSPReader already has a 
TODO for re-encoding
  
  changed JSPReader from deprecated ComposerReader to ServiceableReader
  
  fixed some deprecation messages on the wrong methods
  
  Revision  Changes    Path
  1.3       +4 -4      
cocoon-2.1/src/blocks/jsp/java/org/apache/cocoon/reading/JSPReader.java
  
  Index: JSPReader.java
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/blocks/jsp/java/org/apache/cocoon/reading/JSPReader.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- JSPReader.java    7 Jun 2003 23:01:48 -0000       1.2
  +++ JSPReader.java    10 Jul 2003 23:38:04 -0000      1.3
  @@ -69,7 +69,7 @@
    * @author <a href="mailto:[EMAIL PROTECTED]">Konstantin Piroumian</a>
    * @version CVS $Id$
    */
  -public class JSPReader extends ComposerReader {
  +public class JSPReader extends ServiceableReader {
   
       /**
        * Generates the output from JSP page.
  @@ -93,7 +93,7 @@
   
           JSPEngine engine = null;
           try {
  -            // FIXME (KP): Should we exclude not supported protocols, say 'context'?
  +            // TODO (KP): Should we exclude not supported protocols, say 'context'?
               String url = this.source;
   
               // absolute path is processed as is
  @@ -112,7 +112,7 @@
               }
   
               byte[] bytes = engine.executeJSP(url, httpRequest, httpResponse, 
httpContext);
  -            // FIXME (KP): Make buffer size configurable
  +            // TODO (KP): Make buffer size configurable
               byte[] buffer = new byte[8192];
               int length = -1;
   
  
  
  
  1.3       +2 -2      
cocoon-2.1/src/blocks/jsp/java/org/apache/cocoon/generation/JspGenerator.java
  
  Index: JspGenerator.java
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/blocks/jsp/java/org/apache/cocoon/generation/JspGenerator.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- JspGenerator.java 7 Jun 2003 23:01:48 -0000       1.2
  +++ JspGenerator.java 10 Jul 2003 23:38:04 -0000      1.3
  @@ -102,7 +102,7 @@
           JSPEngine engine = null;
           SAXParser parser = null;
           try {
  -            // FIXME (KP): Should we exclude not supported protocols, say 'context'?
  +            // TODO (KP): Should we exclude not supported protocols, say 'context'?
               String url = this.source;
               // absolute path is processed as is
               if (!url.startsWith("/")) {
  
  
  
  1.84      +5 -1      cocoon-2.1/status.xml
  
  Index: status.xml
  ===================================================================
  RCS file: /home/cvs/cocoon-2.1/status.xml,v
  retrieving revision 1.83
  retrieving revision 1.84
  diff -u -r1.83 -r1.84
  --- status.xml        10 Jul 2003 22:17:43 -0000      1.83
  +++ status.xml        10 Jul 2003 23:38:04 -0000      1.84
  @@ -184,6 +184,10 @@
     <changes>
   
    <release version="@version@" date="@date@">
  +  <action dev="JH" type="fix" fixes-bug="14327">
  +     Reverted the encoding changes in the JSP engine. The fix should be done in
  +     the JSPReader, that already contains a TODO.
  +  </action>
     <action dev="RP" type="fix">
       Web3: The stylesheets in the examples use Xalan as transformer and work 
correctly now
       as XSLTC has problems with the 'rfc' namespace.
  
  
  
  1.3       +8 -3      
cocoon-2.1/src/blocks/jsp/java/org/apache/cocoon/components/jsp/JSPEngineImplNamedDispatcherInclude.java
  
  Index: JSPEngineImplNamedDispatcherInclude.java
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/blocks/jsp/java/org/apache/cocoon/components/jsp/JSPEngineImplNamedDispatcherInclude.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- JSPEngineImplNamedDispatcherInclude.java  24 Mar 2003 14:33:56 -0000      1.2
  +++ JSPEngineImplNamedDispatcherInclude.java  10 Jul 2003 23:38:04 -0000      1.3
  @@ -167,6 +167,7 @@
           public boolean isRequestedSessionIdValid(){ return 
request.isRequestedSessionIdValid(); }
           public boolean isRequestedSessionIdFromCookie(){ return 
request.isRequestedSessionIdFromCookie(); }
           public boolean isRequestedSessionIdFromURL(){ return 
request.isRequestedSessionIdFromURL(); }
  +        /** @deprecated use isRequestedSessionIdFromURL instead. */
           public boolean isRequestedSessionIdFromUrl(){ return 
request.isRequestedSessionIdFromUrl(); }
           public Object getAttribute(String s){
               if(s != null && s.equals(INC_SERVLET_PATH))
  @@ -195,6 +196,7 @@
           public Enumeration getLocales(){ return request.getLocales(); }
           public boolean isSecure(){ return request.isSecure(); }
           public RequestDispatcher getRequestDispatcher(String s){ return 
request.getRequestDispatcher(s); }
  +        /** @deprecated use ServletContext.getRealPath(java.lang.String) instead. */
           public String getRealPath(String s){ return request.getRealPath(s); }
           public java.lang.StringBuffer getRequestURL() { return null; }
           public java.util.Map getParameterMap() { return null; }
  @@ -230,10 +232,12 @@
           }
           public void addCookie(Cookie cookie){ response.addCookie(cookie); }
           public boolean containsHeader(String s){ return response.containsHeader(s); 
}
  -        public String encodeURL(String s){ return response.encodeURL(s); }
  -        public String encodeRedirectURL(String s){ return 
response.encodeRedirectURL(s); }
  +        /** @deprecated use encodeURL(String url) instead. */
           public String encodeUrl(String s){ return response.encodeUrl(s); }
  +        public String encodeURL(String s){ return response.encodeURL(s); }
  +        /** @deprecated use encodeRedirectURL(String url) instead. */
           public String encodeRedirectUrl(String s){ return 
response.encodeRedirectUrl(s); }
  +        public String encodeRedirectURL(String s){ return 
response.encodeRedirectURL(s); }
           public void sendError(int i, String s)
               throws IOException{response.sendError(i,s); }
           public void sendError(int i)
  @@ -247,6 +251,7 @@
           public void setIntHeader(String s, int i){response.setIntHeader(s, i); }
           public void addIntHeader(String s, int i){response.addIntHeader(s, i); }
           public void setStatus(int i){response.setStatus(i); }
  +        /** @deprecated use sendError(int, String) instead */
           public void setStatus(int i, String s){response.setStatus(i, s); }
           public void resetBuffer(){}
   
  
  
  
  1.2       +6 -3      
cocoon-2.1/src/blocks/jsp/java/org/apache/cocoon/components/jsp/JSPEngineImplWLS.java
  
  Index: JSPEngineImplWLS.java
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/blocks/jsp/java/org/apache/cocoon/components/jsp/JSPEngineImplWLS.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- JSPEngineImplWLS.java     9 Mar 2003 00:04:13 -0000       1.1
  +++ JSPEngineImplWLS.java     10 Jul 2003 23:38:04 -0000      1.2
  @@ -248,10 +248,12 @@
         public Locale getLocale(){ return this.response.getLocale();}
         public void addCookie(Cookie cookie){ response.addCookie(cookie); }
         public boolean containsHeader(String s){ return response.containsHeader(s); }
  -      public String encodeURL(String s){ return response.encodeURL(s); }
  -      public String encodeRedirectURL(String s){ return 
response.encodeRedirectURL(s); }
  +      /** @deprecated use encodeURL(String url) instead. */
         public String encodeUrl(String s){ return response.encodeUrl(s); }
  +      public String encodeURL(String s){ return response.encodeURL(s); }
  +      /** @deprecated use encodeRedirectURL(String url) instead. */
         public String encodeRedirectUrl(String s){ return 
response.encodeRedirectUrl(s); }
  +      public String encodeRedirectURL(String s){ return 
response.encodeRedirectURL(s); }
         public void sendError(int i, String s)
             throws IOException{response.sendError(i,s); }
         public void sendError(int i)
  @@ -265,6 +267,7 @@
         public void setIntHeader(String s, int i){response.setIntHeader(s, i); }
         public void addIntHeader(String s, int i){response.addIntHeader(s, i); }
         public void setStatus(int i){response.setStatus(i); }
  +      /** @deprecated use sendError(int, String) instead */
         public void setStatus(int i, String s){response.setStatus(i, s); }
       }
   }
  
  
  
  1.6       +18 -46    
cocoon-2.1/src/blocks/jsp/java/org/apache/cocoon/components/jsp/JSPEngineImpl.java
  
  Index: JSPEngineImpl.java
  ===================================================================
  RCS file: 
/home/cvs/cocoon-2.1/src/blocks/jsp/java/org/apache/cocoon/components/jsp/JSPEngineImpl.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- JSPEngineImpl.java        7 Jun 2003 23:01:48 -0000       1.5
  +++ JSPEngineImpl.java        10 Jul 2003 23:38:04 -0000      1.6
  @@ -69,14 +69,12 @@
   import java.security.Principal;
   import java.util.Enumeration;
   import java.util.Locale;
  -import java.util.StringTokenizer;
   
   /**
    * Allows JSP to be used as a generator.  Builds upon the JSP servlet
    * functionality - overrides the output method and returns the byte(s).
    *
    * @author <a href="mailto:[EMAIL PROTECTED]">Davanum Srinivas</a>
  - * @author <a href="mailto:[EMAIL PROTECTED]">MIYABE Tatsuhiko</a>
    * @version CVS $Id$
    */
   public class JSPEngineImpl extends AbstractLogEnabled
  @@ -134,7 +132,7 @@
        * Stub implementation of Servlet Config
        */
       class config implements ServletConfig {
  -        ServletContext c;
  +        ServletContext c = null;
           public config(ServletContext c) {this.c = c; }
   
           public String getServletName() { return "JSPEngineImpl"; }
  @@ -148,8 +146,8 @@
        * Stub implementation of HttpServletRequest
        */
       class MyServletRequest implements HttpServletRequest {
  -        HttpServletRequest request;
  -        String jspFile;
  +        HttpServletRequest request = null;
  +        String jspFile = null;
   
           public MyServletRequest(HttpServletRequest request, String jspFile) {
               this.request = request;
  @@ -218,60 +216,37 @@
        * Stub implementation of HttpServletResponse
        */
       class MyServletResponse implements HttpServletResponse {
  -        HttpServletResponse response;
  +        HttpServletResponse response = null;
           MyServletOutputStream output = null;
  -        String encoding = "iso-8859-1";
   
           public MyServletResponse(HttpServletResponse response){
               this.response = response;
  +            this.output = new MyServletOutputStream();
           }
           public void flushBuffer() throws IOException { }
           public int getBufferSize() { return 1024; }
           public String getCharacterEncoding() { return 
this.response.getCharacterEncoding();}
           public Locale getLocale(){ return this.response.getLocale();}
           public PrintWriter getWriter() {
  -            if (this.output == null) {
  -                this.output = new MyServletOutputStream(this.encoding);
  -            }
               return this.output.getWriter();
           }
           public boolean isCommitted() { return false; }
           public void reset() {}
           public void setBufferSize(int size) {}
           public void setContentLength(int len) {}
  -        public void setContentType(java.lang.String type) {
  -            StringTokenizer st = new StringTokenizer(type, ";,");
  -            st.nextToken();
  -            while (st.hasMoreTokens())  {
  -                String param = st.nextToken();
  -                int equal = param.indexOf("=");
  -                if (equal != -1) {
  -                    String name = param.substring(0, equal);
  -                    if (name.trim().equalsIgnoreCase("charset")) {
  -                        this.encoding = param.substring(equal + 1).trim();
  -                        break;
  -                    }
  -                    continue;
  -                }
  -                break;
  -            }
  -        }
  +        public void setContentType(java.lang.String type) {}
           public void setLocale(java.util.Locale loc) {}
           public ServletOutputStream getOutputStream() {
  -            if (this.output == null) {
  -                // FIXME: Won't it break JSPEngine contract? See 
JSPEngine.executeJSP
  -                this.output = new MyServletOutputStream(this.encoding);
  -            }
               return this.output;
           }
           public void addCookie(Cookie cookie){ response.addCookie(cookie); }
           public boolean containsHeader(String s){ return response.containsHeader(s); 
}
  -        public String encodeURL(String s){ return response.encodeURL(s); }
  -        /** @deprecated use encodeRedirectURL(String url) instead. */
  -        public String encodeRedirectURL(String s){ return 
response.encodeRedirectURL(s); }
           /** @deprecated use encodeURL(String url) instead. */
           public String encodeUrl(String s){ return response.encodeUrl(s); }
  +        public String encodeURL(String s){ return response.encodeURL(s); }
  +        /** @deprecated use encodeRedirectURL(String url) instead. */
           public String encodeRedirectUrl(String s){ return 
response.encodeRedirectUrl(s); }
  +        public String encodeRedirectURL(String s){ return 
response.encodeRedirectURL(s); }
           public void sendError(int i, String s)
               throws IOException{response.sendError(i,s); }
           public void sendError(int i)
  @@ -290,12 +265,7 @@
           public void resetBuffer(){}
   
           public byte[] toByteArray() {
  -            if (this.output != null) {
  -                return output.toByteArray();
  -            }
  -            else {
  -                return new byte[0];
  -            }
  +            return output.toByteArray();
           }
       }
   
  @@ -303,15 +273,17 @@
        * Stub implementation of ServletOutputStream
        */
       class MyServletOutputStream extends ServletOutputStream {
  -        ByteArrayOutputStream output;
  -        PrintWriter writer;
  +        ByteArrayOutputStream output = null;
  +        PrintWriter writer = null;
   
  -        public MyServletOutputStream(String encoding) {
  +        public MyServletOutputStream() {
               this.output = new ByteArrayOutputStream();
               try {
  -                this.writer = new PrintWriter(new OutputStreamWriter(output, 
encoding));
  +                this.writer = new PrintWriter(new OutputStreamWriter(output, 
"UTF-8"));
               } catch (UnsupportedEncodingException e) {
  -                getLogger().error("Unsupported encoding: " + encoding + ", using 
platform default instead.");
  +                getLogger().error("Your JVM seems not to support UTF-8,"
  +                                  + " using platform default instead."
  +                                  + " This can cause problems as you can imagine.");
                   this.writer = new PrintWriter(new OutputStreamWriter(output));
               }
           }
  
  
  

Reply via email to