This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 10.1.x in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/10.1.x by this push: new 59a860c3de More URL -> URI refactoring 59a860c3de is described below commit 59a860c3de900bfdafd9d9371a181d9442049f4f Author: Mark Thomas <ma...@apache.org> AuthorDate: Wed Nov 16 15:28:40 2022 +0000 More URL -> URI refactoring --- java/org/apache/catalina/startup/CatalinaProperties.java | 2 +- java/org/apache/catalina/startup/ClassLoaderFactory.java | 4 ++-- java/org/apache/catalina/webresources/JarResourceRoot.java | 4 ++-- java/org/apache/jasper/compiler/Compiler.java | 5 +++-- java/org/apache/jasper/compiler/TagLibraryInfoImpl.java | 2 +- java/org/apache/jasper/servlet/JspCServletContext.java | 14 ++++++++++---- java/org/apache/jasper/servlet/TldPreScanned.java | 3 ++- 7 files changed, 21 insertions(+), 13 deletions(-) diff --git a/java/org/apache/catalina/startup/CatalinaProperties.java b/java/org/apache/catalina/startup/CatalinaProperties.java index 9bdad9d300..2bf690705b 100644 --- a/java/org/apache/catalina/startup/CatalinaProperties.java +++ b/java/org/apache/catalina/startup/CatalinaProperties.java @@ -69,7 +69,7 @@ public class CatalinaProperties { // No '/'. Must be a file name rather than a URL fileName = configUrl; } else { - is = (new URI(configUrl)).toURL().openStream(); + is = new URI(configUrl).toURL().openStream(); } } } catch (Throwable t) { diff --git a/java/org/apache/catalina/startup/ClassLoaderFactory.java b/java/org/apache/catalina/startup/ClassLoaderFactory.java index a104f57b66..394e8a0606 100644 --- a/java/org/apache/catalina/startup/ClassLoaderFactory.java +++ b/java/org/apache/catalina/startup/ClassLoaderFactory.java @@ -296,7 +296,7 @@ public final class ClassLoaderFactory { // the URL will be used as is. It is therefore necessary to ensure that // the sequence "!/" is not present in a class loader URL. String result = urlString.replaceAll("!/", "%21/"); - return (new URI(result)).toURL(); + return new URI(result).toURL(); } @@ -304,7 +304,7 @@ public final class ClassLoaderFactory { // Could be a directory or a file String fileUrlString = file.toURI().toString(); fileUrlString = fileUrlString.replaceAll("!/", "%21/"); - return (new URI(fileUrlString)).toURL(); + return new URI(fileUrlString).toURL(); } diff --git a/java/org/apache/catalina/webresources/JarResourceRoot.java b/java/org/apache/catalina/webresources/JarResourceRoot.java index 48d1d366e0..fc11a47b05 100644 --- a/java/org/apache/catalina/webresources/JarResourceRoot.java +++ b/java/org/apache/catalina/webresources/JarResourceRoot.java @@ -126,7 +126,7 @@ public class JarResourceRoot extends AbstractResource { public URL getURL() { String url = baseUrl + "!/"; try { - return (new URI(url)).toURL(); + return new URI(url).toURL(); } catch (MalformedURLException | URISyntaxException e) { if (log.isDebugEnabled()) { log.debug(sm.getString("fileResource.getUrlFail", url), e); @@ -138,7 +138,7 @@ public class JarResourceRoot extends AbstractResource { @Override public URL getCodeBase() { try { - return (new URI(baseUrl)).toURL(); + return new URI(baseUrl).toURL(); } catch (MalformedURLException | URISyntaxException e) { if (getLog().isDebugEnabled()) { getLog().debug(sm.getString("fileResource.getUrlFail", baseUrl), e); diff --git a/java/org/apache/jasper/compiler/Compiler.java b/java/org/apache/jasper/compiler/Compiler.java index b38edae2be..6dca35c4a3 100644 --- a/java/org/apache/jasper/compiler/Compiler.java +++ b/java/org/apache/jasper/compiler/Compiler.java @@ -23,6 +23,7 @@ import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.io.UnsupportedEncodingException; import java.net.JarURLConnection; +import java.net.URI; import java.net.URL; import java.net.URLConnection; import java.util.Map; @@ -520,12 +521,12 @@ public abstract class Compiler { // Assume we constructed this correctly int entryStart = key.lastIndexOf("!/"); String entry = key.substring(entryStart + 2); - try (Jar jar = JarFactory.newInstance(new URL(key.substring(4, entryStart)))) { + try (Jar jar = JarFactory.newInstance(new URI(key.substring(4, entryStart)).toURL())) { includeLastModified = jar.getLastModified(entry); } } else { if (key.startsWith("jar:") || key.startsWith("file:")) { - includeUrl = new URL(key); + includeUrl = new URI(key).toURL(); } else { includeUrl = ctxt.getResource(include.getKey()); } diff --git a/java/org/apache/jasper/compiler/TagLibraryInfoImpl.java b/java/org/apache/jasper/compiler/TagLibraryInfoImpl.java index d481e0d454..efdce96b05 100644 --- a/java/org/apache/jasper/compiler/TagLibraryInfoImpl.java +++ b/java/org/apache/jasper/compiler/TagLibraryInfoImpl.java @@ -255,7 +255,7 @@ class TagLibraryInfoImpl extends TagLibraryInfo implements TagConstants { try { // Can't use RequestUtils.normalize since that package is not // available to Jasper. - uri = (new URI(uri)).normalize().toString(); + uri = new URI(uri).normalize().toString(); if (uri.startsWith("../")) { // Trying to go outside context root err.jspError("jsp.error.taglibDirective.uriInvalid", uri); diff --git a/java/org/apache/jasper/servlet/JspCServletContext.java b/java/org/apache/jasper/servlet/JspCServletContext.java index 70bb6edd96..1b25ad9d57 100644 --- a/java/org/apache/jasper/servlet/JspCServletContext.java +++ b/java/org/apache/jasper/servlet/JspCServletContext.java @@ -21,6 +21,8 @@ import java.io.IOException; import java.io.InputStream; import java.io.PrintWriter; import java.net.MalformedURLException; +import java.net.URI; +import java.net.URISyntaxException; import java.net.URL; import java.util.ArrayList; import java.util.Collection; @@ -385,8 +387,12 @@ public class JspCServletContext implements ServletContext { // Strip leading '/' path = path.substring(1); - URL url = new URL(myResourceBaseURL, path); - try (InputStream is = url.openStream()) { + URL url = null; + try { + URI uri = new URI(myResourceBaseURL.toExternalForm() + path); + url = uri.toURL(); + try (InputStream is = url.openStream()) { + } } catch (Throwable t) { ExceptionUtils.handleThrowable(t); url = null; @@ -399,9 +405,9 @@ public class JspCServletContext implements ServletContext { for (URL jarUrl : resourceJARs) { try (Jar jar = JarFactory.newInstance(jarUrl)) { if (jar.exists(jarPath)) { - return new URL(jar.getURL(jarPath)); + return new URI(jar.getURL(jarPath)).toURL(); } - } catch (IOException ioe) { + } catch (IOException | URISyntaxException ioe) { // Ignore } } diff --git a/java/org/apache/jasper/servlet/TldPreScanned.java b/java/org/apache/jasper/servlet/TldPreScanned.java index 398e004c8b..84de9c44e8 100644 --- a/java/org/apache/jasper/servlet/TldPreScanned.java +++ b/java/org/apache/jasper/servlet/TldPreScanned.java @@ -16,6 +16,7 @@ */ package org.apache.jasper.servlet; +import java.net.URI; import java.net.URL; import java.util.Collection; @@ -44,7 +45,7 @@ public class TldPreScanned extends TldScanner { String fileUrl = str.substring(a + 4, b); String path = str.substring(b + 2); try { - parseTld(new TldResourcePath(new URL(fileUrl), null, path)); + parseTld(new TldResourcePath(new URI(fileUrl).toURL(), null, path)); } catch (Exception e) { throw new IllegalStateException(e); } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org