Author: markt
Date: Tue Sep 28 17:23:05 2010
New Revision: 1002274

URL: http://svn.apache.org/viewvc?rev=1002274&view=rev
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=49665
Better handling for missing TLD files. Report JSP filename and location.

Modified:
    tomcat/trunk/java/org/apache/jasper/compiler/Generator.java
    tomcat/trunk/java/org/apache/jasper/compiler/JspDocumentParser.java
    tomcat/trunk/java/org/apache/jasper/compiler/Parser.java
    tomcat/trunk/java/org/apache/jasper/compiler/TagLibraryInfoImpl.java
    tomcat/trunk/webapps/docs/changelog.xml

Modified: tomcat/trunk/java/org/apache/jasper/compiler/Generator.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/compiler/Generator.java?rev=1002274&r1=1002273&r2=1002274&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/jasper/compiler/Generator.java (original)
+++ tomcat/trunk/java/org/apache/jasper/compiler/Generator.java Tue Sep 28 
17:23:05 2010
@@ -1079,8 +1079,10 @@ class Generator {
                         + property
                         + "\")));");
             } else {
-                StringBuilder msg =
-                    new StringBuilder("jsp:getProperty for bean with name '");
+                StringBuilder msg = new StringBuilder();
+                msg.append("file:");
+                msg.append(n.getStart());
+                msg.append(" jsp:getProperty for bean with name '");
                 msg.append(name);
                 msg.append(
                         "'. Name was not previously introduced as per 
JSP.5.3");

Modified: tomcat/trunk/java/org/apache/jasper/compiler/JspDocumentParser.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/compiler/JspDocumentParser.java?rev=1002274&r1=1002273&r2=1002274&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/jasper/compiler/JspDocumentParser.java 
(original)
+++ tomcat/trunk/java/org/apache/jasper/compiler/JspDocumentParser.java Tue Sep 
28 17:23:05 2010
@@ -1290,7 +1290,8 @@ class JspDocumentParser
                             prefix,
                             uri,
                             location,
-                            err);
+                            err,
+                            null);
                     if (ctxt.getOptions().isCaching()) {
                         ctxt.getOptions().getCache().put(uri, result);
                     }

Modified: tomcat/trunk/java/org/apache/jasper/compiler/Parser.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/compiler/Parser.java?rev=1002274&r1=1002273&r2=1002274&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/jasper/compiler/Parser.java (original)
+++ tomcat/trunk/java/org/apache/jasper/compiler/Parser.java Tue Sep 28 
17:23:05 2010
@@ -385,7 +385,8 @@ class Parser implements TagConstants {
                     if (impl == null) {
                         TldLocation location = ctxt.getTldLocation(uri);
                         impl = new TagLibraryInfoImpl(ctxt, parserController,
-                                pageInfo, prefix, uri, location, err);
+                                pageInfo, prefix, uri, location, err,
+                                reader.mark());
                         if (ctxt.getOptions().isCaching()) {
                             ctxt.getOptions().getCache().put(uri, impl);
                         }

Modified: tomcat/trunk/java/org/apache/jasper/compiler/TagLibraryInfoImpl.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/compiler/TagLibraryInfoImpl.java?rev=1002274&r1=1002273&r2=1002274&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/jasper/compiler/TagLibraryInfoImpl.java 
(original)
+++ tomcat/trunk/java/org/apache/jasper/compiler/TagLibraryInfoImpl.java Tue 
Sep 28 17:23:05 2010
@@ -134,8 +134,9 @@ class TagLibraryInfoImpl extends TagLibr
     /**
      * Constructor.
      */
-    public TagLibraryInfoImpl(JspCompilationContext ctxt, ParserController pc, 
PageInfo pi,
-            String prefix, String uriIn, TldLocation location, ErrorDispatcher 
err)
+    public TagLibraryInfoImpl(JspCompilationContext ctxt, ParserController pc,
+            PageInfo pi, String prefix, String uriIn, TldLocation location,
+            ErrorDispatcher err, Mark mark)
             throws JasperException {
         super(prefix, uriIn);
 
@@ -162,7 +163,7 @@ class TagLibraryInfoImpl extends TagLibr
                         throw new FileNotFoundException(tldName);
                     }
                 } catch (FileNotFoundException ex) {
-                    err.jspError("jsp.error.file.not.found", tldName);
+                    err.jspError(mark, "jsp.error.file.not.found", tldName);
                 }
 
                 parseTLD(tldName, in, null);
@@ -177,7 +178,7 @@ class TagLibraryInfoImpl extends TagLibr
                     in = jarResource.getEntry(tldName).openStream();
                     parseTLD(jarResource.getUrl(), in, jarResource);
                 } catch (Exception ex) {
-                    err.jspError("jsp.error.tld.unable_to_read", 
jarResource.getUrl(),
+                    err.jspError(mark, "jsp.error.tld.unable_to_read", 
jarResource.getUrl(),
                             jarResource.getUrl(), ex.toString());
                 }
             }

Modified: tomcat/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1002274&r1=1002273&r2=1002274&view=diff
==============================================================================
--- tomcat/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/trunk/webapps/docs/changelog.xml Tue Sep 28 17:23:05 2010
@@ -212,6 +212,11 @@
   <subsection name="Jasper">
     <changelog>
       <fix>
+        <bug>49665</bug>: Provide better information including JSP file name 
and
+        location when a missing file is detected during TLD handling. Patch
+        provided by Ted Leung. (markt)
+      </fix>
+      <fix>
         <bug>49726</bug>: Specifying a default content type via a JSP property
         group should not prevent a page from setting some other content type.
         (markt)



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to