You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by lu...@apache.org on 2004/02/27 02:03:56 UTC
cvs commit: jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler TldLocationsCache.java JspConfig.java
luehe 2004/02/26 17:03:56
Modified: jasper2/src/share/org/apache/jasper/compiler
TldLocationsCache.java JspConfig.java
Log:
Close input stream
Revision Changes Path
1.24 +47 -37 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/TldLocationsCache.java
Index: TldLocationsCache.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/TldLocationsCache.java,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -r1.23 -r1.24
--- TldLocationsCache.java 4 Feb 2004 20:01:13 -0000 1.23
+++ TldLocationsCache.java 27 Feb 2004 01:03:55 -0000 1.24
@@ -293,49 +293,59 @@
*/
private void processWebDotXml() throws Exception {
- // Acquire an input stream to the web application deployment descriptor
- InputStream is = ctxt.getResourceAsStream(WEB_XML);
- if (is == null) {
- if (log.isWarnEnabled()) {
- log.warn(Localizer.getMessage("jsp.error.internal.filenotfound",
- WEB_XML));
+ InputStream is = null;
+
+ try {
+ // Acquire input stream to web application deployment descriptor
+ is = ctxt.getResourceAsStream(WEB_XML);
+ if (is == null) {
+ if (log.isWarnEnabled()) {
+ log.warn(Localizer.getMessage("jsp.error.internal.filenotfound",
+ WEB_XML));
+ }
+ return;
}
- return;
- }
- // Parse the web application deployment descriptor
- TreeNode webtld = new ParserUtils().parseXMLDocument(WEB_XML, is);
+ // Parse the web application deployment descriptor
+ TreeNode webtld = new ParserUtils().parseXMLDocument(WEB_XML, is);
- // Allow taglib to be an element of the root or jsp-config (JSP2.0)
- TreeNode jspConfig = webtld.findChild("jsp-config");
- if (jspConfig != null) {
- webtld = jspConfig;
- }
- Iterator taglibs = webtld.findChildren("taglib");
- while (taglibs.hasNext()) {
+ // Allow taglib to be an element of the root or jsp-config (JSP2.0)
+ TreeNode jspConfig = webtld.findChild("jsp-config");
+ if (jspConfig != null) {
+ webtld = jspConfig;
+ }
+ Iterator taglibs = webtld.findChildren("taglib");
+ while (taglibs.hasNext()) {
- // Parse the next <taglib> element
- TreeNode taglib = (TreeNode) taglibs.next();
- String tagUri = null;
- String tagLoc = null;
- TreeNode child = taglib.findChild("taglib-uri");
- if (child != null)
- tagUri = child.getBody();
- child = taglib.findChild("taglib-location");
- if (child != null)
- tagLoc = child.getBody();
+ // Parse the next <taglib> element
+ TreeNode taglib = (TreeNode) taglibs.next();
+ String tagUri = null;
+ String tagLoc = null;
+ TreeNode child = taglib.findChild("taglib-uri");
+ if (child != null)
+ tagUri = child.getBody();
+ child = taglib.findChild("taglib-location");
+ if (child != null)
+ tagLoc = child.getBody();
- // Save this location if appropriate
- if (tagLoc == null)
- continue;
- if (uriType(tagLoc) == NOROOT_REL_URI)
- tagLoc = "/WEB-INF/" + tagLoc;
- String tagLoc2 = null;
- if (tagLoc.endsWith(JAR_FILE_SUFFIX)) {
- tagLoc = ctxt.getResource(tagLoc).toString();
- tagLoc2 = "META-INF/taglib.tld";
+ // Save this location if appropriate
+ if (tagLoc == null)
+ continue;
+ if (uriType(tagLoc) == NOROOT_REL_URI)
+ tagLoc = "/WEB-INF/" + tagLoc;
+ String tagLoc2 = null;
+ if (tagLoc.endsWith(JAR_FILE_SUFFIX)) {
+ tagLoc = ctxt.getResource(tagLoc).toString();
+ tagLoc2 = "META-INF/taglib.tld";
+ }
+ mappings.put(tagUri, new String[] { tagLoc, tagLoc2 });
+ }
+ } finally {
+ if (is != null) {
+ try {
+ is.close();
+ } catch (Throwable t) {}
}
- mappings.put(tagUri, new String[] { tagLoc, tagLoc2 });
}
}
1.15 +121 -109 jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspConfig.java
Index: JspConfig.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/JspConfig.java,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- JspConfig.java 27 Jan 2004 01:20:22 -0000 1.14
+++ JspConfig.java 27 Feb 2004 01:03:55 -0000 1.15
@@ -102,117 +102,129 @@
private void processWebDotXml(ServletContext ctxt) throws JasperException {
- InputStream is = ctxt.getResourceAsStream(WEB_XML);
- if (is == null) {
- // no web.xml
- return;
- }
-
- ParserUtils pu = new ParserUtils();
- TreeNode webApp = pu.parseXMLDocument(WEB_XML, is);
- if (webApp == null || !"2.4".equals(webApp.findAttribute("version"))) {
- defaultIsELIgnored = "true";
- return;
- }
- TreeNode jspConfig = webApp.findChild("jsp-config");
- if (jspConfig == null) {
- return;
- }
-
- jspProperties = new Vector();
- Iterator jspPropertyList = jspConfig.findChildren("jsp-property-group");
- while (jspPropertyList.hasNext()) {
-
- TreeNode element = (TreeNode) jspPropertyList.next();
- Iterator list = element.findChildren();
-
- Vector urlPatterns = new Vector();
- String pageEncoding = null;
- String scriptingInvalid = null;
- String elIgnored = null;
- String isXml = null;
- Vector includePrelude = new Vector();
- Vector includeCoda = new Vector();
-
- while (list.hasNext()) {
-
- element = (TreeNode) list.next();
- String tname = element.getName();
-
- if ("url-pattern".equals(tname))
- urlPatterns.addElement( element.getBody() );
- else if ("page-encoding".equals(tname))
- pageEncoding = element.getBody();
- else if ("is-xml".equals(tname))
- isXml = element.getBody();
- else if ("el-ignored".equals(tname))
- elIgnored = element.getBody();
- else if ("scripting-invalid".equals(tname))
- scriptingInvalid = element.getBody();
- else if ("include-prelude".equals(tname))
- includePrelude.addElement(element.getBody());
- else if ("include-coda".equals(tname))
- includeCoda.addElement(element.getBody());
+ InputStream is = null;
+
+ try {
+ is = ctxt.getResourceAsStream(WEB_XML);
+ if (is == null) {
+ // no web.xml
+ return;
}
- if (urlPatterns.size() == 0) {
- continue;
- }
-
- // Add one JspPropertyGroup for each URL Pattern. This makes
- // the matching logic easier.
- for( int p = 0; p < urlPatterns.size(); p++ ) {
- String urlPattern = (String)urlPatterns.elementAt( p );
- String path = null;
- String extension = null;
+ ParserUtils pu = new ParserUtils();
+ TreeNode webApp = pu.parseXMLDocument(WEB_XML, is);
+ if (webApp == null
+ || !"2.4".equals(webApp.findAttribute("version"))) {
+ defaultIsELIgnored = "true";
+ return;
+ }
+ TreeNode jspConfig = webApp.findChild("jsp-config");
+ if (jspConfig == null) {
+ return;
+ }
+
+ jspProperties = new Vector();
+ Iterator jspPropertyList = jspConfig.findChildren("jsp-property-group");
+ while (jspPropertyList.hasNext()) {
+
+ TreeNode element = (TreeNode) jspPropertyList.next();
+ Iterator list = element.findChildren();
+
+ Vector urlPatterns = new Vector();
+ String pageEncoding = null;
+ String scriptingInvalid = null;
+ String elIgnored = null;
+ String isXml = null;
+ Vector includePrelude = new Vector();
+ Vector includeCoda = new Vector();
+
+ while (list.hasNext()) {
+
+ element = (TreeNode) list.next();
+ String tname = element.getName();
+
+ if ("url-pattern".equals(tname))
+ urlPatterns.addElement( element.getBody() );
+ else if ("page-encoding".equals(tname))
+ pageEncoding = element.getBody();
+ else if ("is-xml".equals(tname))
+ isXml = element.getBody();
+ else if ("el-ignored".equals(tname))
+ elIgnored = element.getBody();
+ else if ("scripting-invalid".equals(tname))
+ scriptingInvalid = element.getBody();
+ else if ("include-prelude".equals(tname))
+ includePrelude.addElement(element.getBody());
+ else if ("include-coda".equals(tname))
+ includeCoda.addElement(element.getBody());
+ }
+
+ if (urlPatterns.size() == 0) {
+ continue;
+ }
- if (urlPattern.indexOf('*') < 0) {
- // Exact match
- path = urlPattern;
- } else {
- int i = urlPattern.lastIndexOf('/');
- String file;
- if (i >= 0) {
- path = urlPattern.substring(0,i+1);
- file = urlPattern.substring(i+1);
- } else {
- file = urlPattern;
- }
+ // Add one JspPropertyGroup for each URL Pattern. This makes
+ // the matching logic easier.
+ for( int p = 0; p < urlPatterns.size(); p++ ) {
+ String urlPattern = (String)urlPatterns.elementAt( p );
+ String path = null;
+ String extension = null;
- // pattern must be "*", or of the form "*.jsp"
- if (file.equals("*")) {
- extension = "*";
- } else if (file.startsWith("*.")) {
- extension = file.substring(file.indexOf('.')+1);
- }
-
- // The url patterns are reconstructed as the follwoing:
- // path != null, extension == null: / or /foo/bar.ext
- // path == null, extension != null: *.ext
- // path != null, extension == "*": /foo/*
- boolean isStar = "*".equals(extension);
- if ((path == null && (extension == null || isStar)) ||
- (path != null && !isStar)) {
- if (log.isWarnEnabled()) {
- log.warn(Localizer.getMessage("jsp.warning.bad.urlpattern.propertygroup",
- urlPattern));
- }
- continue;
- }
- }
+ if (urlPattern.indexOf('*') < 0) {
+ // Exact match
+ path = urlPattern;
+ } else {
+ int i = urlPattern.lastIndexOf('/');
+ String file;
+ if (i >= 0) {
+ path = urlPattern.substring(0,i+1);
+ file = urlPattern.substring(i+1);
+ } else {
+ file = urlPattern;
+ }
- JspProperty property = new JspProperty(isXml,
- elIgnored,
- scriptingInvalid,
- pageEncoding,
- includePrelude,
- includeCoda);
- JspPropertyGroup propertyGroup =
- new JspPropertyGroup(path, extension, property);
-
- jspProperties.addElement(propertyGroup);
- }
- }
+ // pattern must be "*", or of the form "*.jsp"
+ if (file.equals("*")) {
+ extension = "*";
+ } else if (file.startsWith("*.")) {
+ extension = file.substring(file.indexOf('.')+1);
+ }
+
+ // The url patterns are reconstructed as the follwoing:
+ // path != null, extension == null: / or /foo/bar.ext
+ // path == null, extension != null: *.ext
+ // path != null, extension == "*": /foo/*
+ boolean isStar = "*".equals(extension);
+ if ((path == null && (extension == null || isStar))
+ || (path != null && !isStar)) {
+ if (log.isWarnEnabled()) {
+ log.warn(Localizer.getMessage(
+ "jsp.warning.bad.urlpattern.propertygroup",
+ urlPattern));
+ }
+ continue;
+ }
+ }
+
+ JspProperty property = new JspProperty(isXml,
+ elIgnored,
+ scriptingInvalid,
+ pageEncoding,
+ includePrelude,
+ includeCoda);
+ JspPropertyGroup propertyGroup =
+ new JspPropertyGroup(path, extension, property);
+
+ jspProperties.addElement(propertyGroup);
+ }
+ }
+ } finally {
+ if (is != null) {
+ try {
+ is.close();
+ } catch (Throwable t) {}
+ }
+ }
}
private void init() throws JasperException {
---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org