kinman      02/05/15 13:42:03

  Modified:    jasper2/src/share/org/apache/jasper/compiler
                        ErrorDispatcher.java Generator.java Node.java
                        Validator.java
               jasper2/src/share/org/apache/jasper/runtime
                        PageContextImpl.java
  Log:
  - Fixed ErrorDispatcher is show javac error message even if there is no mapping.
  - Fixed codegen for plugins: allow rt expressions for width and height
    attributes; and a missing java_code attribute.
  
  Revision  Changes    Path
  1.2       +13 -5     
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/ErrorDispatcher.java
  
  Index: ErrorDispatcher.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/ErrorDispatcher.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ErrorDispatcher.java      28 Mar 2002 18:46:18 -0000      1.1
  +++ ErrorDispatcher.java      15 May 2002 20:42:03 -0000      1.2
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/ErrorDispatcher.java,v
 1.1 2002/03/28 18:46:18 kinman Exp $
  - * $Revision: 1.1 $
  - * $Date: 2002/03/28 18:46:18 $
  + * $Header: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/ErrorDispatcher.java,v
 1.2 2002/05/15 20:42:03 kinman Exp $
  + * $Revision: 1.2 $
  + * $Date: 2002/05/15 20:42:03 $
    *
    * ====================================================================
    * 
  @@ -479,9 +479,11 @@
                ErrorVisitor errVisitor = new ErrorVisitor(lineNum);
                page.visit(errVisitor);
                errNode = errVisitor.getJspSourceNode();
  +                /* XXX Supress map exception to display the original error
                if (errNode == null) {
                    jspError("jsp.error.source.map", lineNumStr);
                }
  +                */
               }
            partialErrMsg.append(line);
            partialErrMsg.append('\n');
  @@ -490,10 +492,16 @@
           reader.close();
   
        // add last error to error vector
  +     String pageFile = null;
  +     int pageLine = -1;
  +     if (errNode != null) {
  +         pageFile = errNode.getStart().getFile();
  +         pageLine = errNode.getStart().getLineNumber();
  +     }
        errVec.add(new JavacErrorDetail(fname,
                                        lineNum,
  -                                     errNode.getStart().getFile(),
  -                                     errNode.getStart().getLineNumber(),
  +                                     pageFile,
  +                                     pageLine,
                                        partialErrMsg.toString()));
   
        JavacErrorDetail[] errDetails = null;
  
  
  
  1.14      +47 -25    
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Generator.java
  
  Index: Generator.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Generator.java,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- Generator.java    11 May 2002 01:19:57 -0000      1.13
  +++ Generator.java    15 May 2002 20:42:03 -0000      1.14
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Generator.java,v
 1.13 2002/05/11 01:19:57 kinman Exp $
  - * $Revision: 1.13 $
  - * $Date: 2002/05/11 01:19:57 $
  + * $Header: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Generator.java,v
 1.14 2002/05/15 20:42:03 kinman Exp $
  + * $Revision: 1.14 $
  + * $Date: 2002/05/15 20:42:03 $
    *
    * ====================================================================
    * 
  @@ -668,8 +668,8 @@
            String type = n.getAttributeValue("type");
            String code = n.getAttributeValue("code");
            String name = n.getAttributeValue("name");
  -         String width = n.getAttributeValue("width");
  -         String height = n.getAttributeValue("height");
  +         Node.JspAttribute height = n.getHeight();
  +         Node.JspAttribute width = n.getWidth();
            String hspace = n.getAttributeValue("hspace");
            String vspace = n.getAttributeValue("vspace");
            String align = n.getAttributeValue("align");
  @@ -689,17 +689,28 @@
            // IE style plugin
            // <OBJECT ...>
            // First compose the runtime output string 
  -         String s0 = "<OBJECT classid=" + ctxt.getOptions().getIeClassId() +
  -                     makeAttr("name", name) +
  -                     makeAttr("width", width) +
  -                     makeAttr("height", height) +
  -                     makeAttr("hspace", hspace) +
  -                     makeAttr("vspace", vspace) +
  -                     makeAttr("align", align) +
  -                     makeAttr("codebase", iepluginurl) +
  -                     '>';
  +         String s0 = "<OBJECT classid=\"" + ctxt.getOptions().getIeClassId()+
  +                     "\"" + makeAttr("name", name);
  +         String s1, s2;
  +         if (width.isExpression()) {
  +             s1 = quote(s0 + " width=\"") + " + " + width.getValue() +
  +                     " + " + quote("\"");
  +         } else {
  +             s1 = quote(s0 + makeAttr("width", width.getValue()));
  +         }
  +         if (height.isExpression()) {
  +             s2 = quote(" height=\"") + " + " + height.getValue() +
  +                     " + " + quote("\"");
  +         } else {
  +             s2 = quote(makeAttr("height", height.getValue()));
  +         }
  +         String s3 = quote(makeAttr("hspace", hspace) +
  +                             makeAttr("vspace", vspace) +
  +                             makeAttr("align", align) +
  +                             makeAttr("codebase", iepluginurl) +
  +                             '>');
            // Then print the output string to the java file
  -         out.printil("out.println(" + quote(s0) + ");");
  +         out.printil("out.println(" + s1 + " + " + s2 + " + " + s3 + ");");
   
            // <PARAM > for java_code
            s0 = "<PARAM name=\"java_code\"" + makeAttr("value", code) + '>';
  @@ -741,16 +752,27 @@
            s0 = "<EMBED" +
                 makeAttr("type", "application/x-java-" + type + ";" +
                          ((jreversion==null)? "": "version=" + jreversion)) +
  -              makeAttr("name", name) +
  -              makeAttr("width", width) +
  -              makeAttr("height", height) +
  -              makeAttr("hspace", hspace) +
  -              makeAttr("vspace", vspace) +
  -              makeAttr("align", align) +
  -              makeAttr("pluginspage", nspluginurl) +
  -              makeAttr("java_codebase", codebase) +
  -              makeAttr("java_archive", archive);
  -         out.printil("out.println(" + quote(s0) + ");");
  +              makeAttr("name", name);
  +         if (width.isExpression()) {
  +             s1 = quote(s0 + " width=\"") + " + " + width.getValue() +
  +                     " + " + quote("\"");
  +         } else {
  +             s1 = quote(s0 + makeAttr("width", width.getValue()));
  +         }
  +         if (height.isExpression()) {
  +             s2 = quote(" height=\"") + " + " + height.getValue() +
  +                     " + " + quote("\"");
  +         } else {
  +             s2 = quote(makeAttr("height", height.getValue()));
  +         }
  +         s3 = quote(makeAttr("hspace", hspace) +
  +                      makeAttr("vspace", vspace) +
  +                      makeAttr("align", align) +
  +                      makeAttr("pluginspage", nspluginurl) +
  +                      makeAttr("java_code", code) +
  +                      makeAttr("java_codebase", codebase) +
  +                      makeAttr("java_archive", archive));
  +         out.printil("out.println(" + s1 + " + " + s2 + " + " + s3 + ");");
                 
            /*
             * Generate a 'attr = "value"' for each <jsp:param> in plugin body
  
  
  
  1.8       +22 -3     
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Node.java
  
  Index: Node.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Node.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- Node.java 24 Apr 2002 21:12:52 -0000      1.7
  +++ Node.java 15 May 2002 20:42:03 -0000      1.8
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Node.java,v
 1.7 2002/04/24 21:12:52 kinman Exp $
  - * $Revision: 1.7 $
  - * $Date: 2002/04/24 21:12:52 $
  + * $Header: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Node.java,v
 1.8 2002/05/15 20:42:03 kinman Exp $
  + * $Revision: 1.8 $
  + * $Date: 2002/05/15 20:42:03 $
    *
    * ====================================================================
    * 
  @@ -606,12 +606,31 @@
        */
       public static class PlugIn extends Node {
   
  +     JspAttribute height;
  +     JspAttribute width;
  +
        public PlugIn(Attributes attrs, Mark start, Node parent) {
            super(attrs, start, parent);
        }
   
        public void accept(Visitor v) throws JasperException {
            v.visit(this);
  +     }
  +
  +     public void setHeight(JspAttribute height) {
  +         this.height = height;
  +     }
  +
  +     public void setWidth(JspAttribute width) {
  +         this.width = width;
  +     }
  +
  +     public JspAttribute getHeight() {
  +         return height;
  +     }
  +
  +     public JspAttribute getWidth() {
  +         return width;
        }
       }
   
  
  
  
  1.6       +7 -3      
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Validator.java
  
  Index: Validator.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Validator.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- Validator.java    25 Apr 2002 00:36:46 -0000      1.5
  +++ Validator.java    15 May 2002 20:42:03 -0000      1.6
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Validator.java,v
 1.5 2002/04/25 00:36:46 kinman Exp $
  - * $Revision: 1.5 $
  - * $Date: 2002/04/25 00:36:46 $
  + * $Header: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Validator.java,v
 1.6 2002/05/15 20:42:03 kinman Exp $
  + * $Revision: 1.6 $
  + * $Date: 2002/05/15 20:42:03 $
    *
    * ====================================================================
    * 
  @@ -444,6 +444,10 @@
            if (n.getAttributeValue("code") == null)
                err.jspError(n, "jsp.error.plugin.nocode");
   
  +         n.setHeight(getJspAttribute("height", n.getAttributeValue("height"),
  +                                   n.isXmlSyntax()));
  +         n.setWidth(getJspAttribute("width", n.getAttributeValue("width"),
  +                                   n.isXmlSyntax()));
            visitBody(n);
        }
   
  
  
  
  1.5       +9 -8      
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime/PageContextImpl.java
  
  Index: PageContextImpl.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime/PageContextImpl.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- PageContextImpl.java      6 May 2002 20:07:43 -0000       1.4
  +++ PageContextImpl.java      15 May 2002 20:42:03 -0000      1.5
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime/PageContextImpl.java,v
 1.4 2002/05/06 20:07:43 kinman Exp $
  - * $Revision: 1.4 $
  - * $Date: 2002/05/06 20:07:43 $
  + * $Header: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/runtime/PageContextImpl.java,v
 1.5 2002/05/15 20:42:03 kinman Exp $
  + * $Revision: 1.5 $
  + * $Date: 2002/05/15 20:42:03 $
    *
    * ====================================================================
    *
  @@ -468,12 +468,13 @@
            if (t instanceof IOException) throw (IOException)t;
            if (t instanceof ServletException) throw (ServletException)t;
               if (t instanceof RuntimeException) throw (RuntimeException)t;
  -            if (t instanceof JspException ) {
  +            if (t instanceof JspException) {
                   Throwable rootCause = ((JspException)t).getRootCause();
  -                if( rootCause != null )
  -                    throw new ServletException( t.getMessage(), rootCause );
  -                else
  -                    throw new ServletException( t );
  +                if (rootCause != null) {
  +                    throw new ServletException(t.getMessage(), rootCause);
  +                } else {
  +                    throw new ServletException(t);
  +                }
               }
            throw new ServletException(t);
        }
  
  
  

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to