Author: kkolinko
Date: Sat Nov 22 12:14:11 2014
New Revision: 1641051
URL: http://svn.apache.org/r1641051
Log:
Use try-with-resources. Correct formatting, which includes indenting a nested
block of code.
Followup to r1640976, r1640978
Modified:
tomcat/trunk/java/org/apache/jasper/compiler/TagFileProcessor.java
tomcat/trunk/java/org/apache/jasper/compiler/TagLibraryInfoImpl.java
Modified: tomcat/trunk/java/org/apache/jasper/compiler/TagFileProcessor.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/compiler/TagFileProcessor.java?rev=1641051&r1=1641050&r2=1641051&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/jasper/compiler/TagFileProcessor.java
(original)
+++ tomcat/trunk/java/org/apache/jasper/compiler/TagFileProcessor.java Sat Nov
22 12:14:11 2014
@@ -631,10 +631,7 @@ class TagFileProcessor {
compiler.getCompilationContext().getTldResourcePath(
tagFileInfo.getTagInfo().getTagLibrary().getURI());
- Jar jar = null;
- try
- {
- jar = tldResourcePath.openJar();
+ try (Jar jar = tldResourcePath.openJar()) {
if (jar != null) {
// Add TLD
@@ -643,8 +640,7 @@ class TagFileProcessor {
// Add Tag
pageInfo.addDependant(jar.getURL(tagFilePath.substring(1)),
Long.valueOf(jar.getLastModified(tagFilePath.substring(1))));
- }
- else {
+ } else {
pageInfo.addDependant(tagFilePath,
compiler.getCompilationContext().getLastModified(
tagFilePath));
@@ -652,11 +648,6 @@ class TagFileProcessor {
} catch (IOException ioe) {
throw new JasperException(ioe);
}
- finally
- {
- if(null != jar)
- jar.close(); // Jar.close does not "throw
IOException" but probably should
- }
} else {
pageInfo.addDependant(tagFilePath,
compiler.getCompilationContext().getLastModified(
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=1641051&r1=1641050&r2=1641051&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/jasper/compiler/TagLibraryInfoImpl.java
(original)
+++ tomcat/trunk/java/org/apache/jasper/compiler/TagLibraryInfoImpl.java Sat
Nov 22 12:14:11 2014
@@ -124,105 +124,98 @@ class TagLibraryInfoImpl extends TagLibr
tldResourcePath = generateTldResourcePath(uri, ctxt);
}
- Jar jar = null;
- try {
- jar = tldResourcePath.openJar();
+ try (Jar jar = tldResourcePath.openJar()) {
- // Add the dependencies on the TLD to the referencing page
- PageInfo pageInfo = ctxt.createCompiler().getPageInfo();
- if (pageInfo != null) {
- // If the TLD is in a JAR, that JAR may not be part of the web
- // application
- String path = tldResourcePath.getWebappPath();
- if (path != null) {
- // Add TLD (jar==null) / JAR (jar!=null) file to dependency
list
- pageInfo.addDependant(path, ctxt.getLastModified(path));
- }
- if (jar != null) {
- if (path == null) {
- // JAR not in the web application so add it directly
- URL jarUrl = jar.getJarFileURL();
- long lastMod = -1;
- URLConnection urlConn = null;
+ // Add the dependencies on the TLD to the referencing page
+ PageInfo pageInfo = ctxt.createCompiler().getPageInfo();
+ if (pageInfo != null) {
+ // If the TLD is in a JAR, that JAR may not be part of the web
+ // application
+ String path = tldResourcePath.getWebappPath();
+ if (path != null) {
+ // Add TLD (jar==null) / JAR (jar!=null) file to
dependency list
+ pageInfo.addDependant(path, ctxt.getLastModified(path));
+ }
+ if (jar != null) {
+ if (path == null) {
+ // JAR not in the web application so add it directly
+ URL jarUrl = jar.getJarFileURL();
+ long lastMod = -1;
+ URLConnection urlConn = null;
+ try {
+ urlConn = jarUrl.openConnection();
+ lastMod = urlConn.getLastModified();
+ } catch (IOException ioe) {
+ throw new JasperException(ioe);
+ } finally {
+ if (urlConn != null) {
+ try {
+ urlConn.getInputStream().close();
+ } catch (IOException e) {
+ // Ignore
+ }
+ }
+ }
+ pageInfo.addDependant(jarUrl.toExternalForm(),
+ Long.valueOf(lastMod));
+ }
+ // Add TLD within the JAR to the dependency list
+ String entryName = tldResourcePath.getEntryName();
try {
- urlConn = jarUrl.openConnection();
- lastMod = urlConn.getLastModified();
+ pageInfo.addDependant(jar.getURL(entryName),
+ Long.valueOf(jar.getLastModified(entryName)));
} catch (IOException ioe) {
throw new JasperException(ioe);
- } finally {
- if (urlConn != null) {
- try {
- urlConn.getInputStream().close();
- } catch (IOException e) {
- // Ignore
- }
- }
}
- pageInfo.addDependant(jarUrl.toExternalForm(),
- Long.valueOf(lastMod));
- }
- // Add TLD within the JAR to the dependency list
- String entryName = tldResourcePath.getEntryName();
- try {
- pageInfo.addDependant(jar.getURL(entryName),
- Long.valueOf(jar.getLastModified(entryName)));
- } catch (IOException ioe) {
- throw new JasperException(ioe);
}
}
- }
- // Get the representation of the TLD
- TaglibXml taglibXml =
- ctxt.getOptions().getTldCache().getTaglibXml(tldResourcePath);
-
- // Populate the TagLibraryInfo attributes
- this.jspversion = taglibXml.getJspVersion();
- this.tlibversion = taglibXml.getTlibVersion();
- this.shortname = taglibXml.getShortName();
- this.urn = taglibXml.getUri();
- this.info = taglibXml.getInfo();
-
- this.tagLibraryValidator = createValidator(taglibXml.getValidator());
-
- List<TagInfo> tagInfos = new ArrayList<>();
- for (TagXml tagXml : taglibXml.getTags()) {
- tagInfos.add(createTagInfo(tagXml));
- }
-
- List<TagFileInfo> tagFileInfos = new ArrayList<>();
- for (TagFileXml tagFileXml : taglibXml.getTagFiles()) {
- tagFileInfos.add(createTagFileInfo(tagFileXml, jar));
- }
-
- Set<String> names = new HashSet<>();
- List<FunctionInfo> functionInfos = taglibXml.getFunctions();
- // TODO Move this validation to the parsing stage
- for (FunctionInfo functionInfo : functionInfos) {
- String name = functionInfo.getName();
- if (!names.add(name)) {
- err.jspError("jsp.error.tld.fn.duplicate.name", name, uri);
+ // Get the representation of the TLD
+ TaglibXml taglibXml =
+
ctxt.getOptions().getTldCache().getTaglibXml(tldResourcePath);
+
+ // Populate the TagLibraryInfo attributes
+ this.jspversion = taglibXml.getJspVersion();
+ this.tlibversion = taglibXml.getTlibVersion();
+ this.shortname = taglibXml.getShortName();
+ this.urn = taglibXml.getUri();
+ this.info = taglibXml.getInfo();
+
+ this.tagLibraryValidator =
createValidator(taglibXml.getValidator());
+
+ List<TagInfo> tagInfos = new ArrayList<>();
+ for (TagXml tagXml : taglibXml.getTags()) {
+ tagInfos.add(createTagInfo(tagXml));
}
- }
- if (tlibversion == null) {
- err.jspError("jsp.error.tld.mandatory.element.missing",
"tlib-version", uri);
- }
- if (jspversion == null) {
- err.jspError("jsp.error.tld.mandatory.element.missing",
"jsp-version", uri);
- }
+ List<TagFileInfo> tagFileInfos = new ArrayList<>();
+ for (TagFileXml tagFileXml : taglibXml.getTagFiles()) {
+ tagFileInfos.add(createTagFileInfo(tagFileXml, jar));
+ }
+
+ Set<String> names = new HashSet<>();
+ List<FunctionInfo> functionInfos = taglibXml.getFunctions();
+ // TODO Move this validation to the parsing stage
+ for (FunctionInfo functionInfo : functionInfos) {
+ String name = functionInfo.getName();
+ if (!names.add(name)) {
+ err.jspError("jsp.error.tld.fn.duplicate.name", name, uri);
+ }
+ }
- this.tags = tagInfos.toArray(new TagInfo[tagInfos.size()]);
- this.tagFiles = tagFileInfos.toArray(new
TagFileInfo[tagFileInfos.size()]);
- this.functions = functionInfos.toArray(new
FunctionInfo[functionInfos.size()]);
+ if (tlibversion == null) {
+ err.jspError("jsp.error.tld.mandatory.element.missing",
"tlib-version", uri);
+ }
+ if (jspversion == null) {
+ err.jspError("jsp.error.tld.mandatory.element.missing",
"jsp-version", uri);
+ }
+
+ this.tags = tagInfos.toArray(new TagInfo[tagInfos.size()]);
+ this.tagFiles = tagFileInfos.toArray(new
TagFileInfo[tagFileInfos.size()]);
+ this.functions = functionInfos.toArray(new
FunctionInfo[functionInfos.size()]);
} catch (IOException ioe) {
throw new JasperException(ioe);
}
- finally
- {
- if(null != jar)
- jar.close(); // Jar.close does not throw IOException, but
probably should
- }
}
@Override
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]