This is an automated email from the ASF dual-hosted git repository.
markt pushed a commit to branch 8.5.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/8.5.x by this push:
new 3d958a042b More URL -> URI refactoring
3d958a042b is described below
commit 3d958a042b85c2c48366723ae5a874ba3fe1c9d3
Author: Mark Thomas <[email protected]>
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 7ed368a5da..82ce77cc21 100644
--- a/java/org/apache/catalina/startup/CatalinaProperties.java
+++ b/java/org/apache/catalina/startup/CatalinaProperties.java
@@ -63,7 +63,7 @@ public class CatalinaProperties {
try {
String configUrl = System.getProperty("catalina.config");
if (configUrl != null) {
- is = (new URI(configUrl)).toURL().openStream();
+ is = new URI(configUrl).toURL().openStream();
}
} catch (Throwable t) {
handleThrowable(t);
diff --git a/java/org/apache/catalina/startup/ClassLoaderFactory.java
b/java/org/apache/catalina/startup/ClassLoaderFactory.java
index 08387e47d0..684b707e52 100644
--- a/java/org/apache/catalina/startup/ClassLoaderFactory.java
+++ b/java/org/apache/catalina/startup/ClassLoaderFactory.java
@@ -302,7 +302,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();
}
@@ -310,7 +310,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 3be9e58c89..935c19ca1b 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;
@@ -506,12 +507,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 96417c00f4..8550c93b38 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 ae38792ad9..15ce008977 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;
@@ -388,8 +390,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;
@@ -402,9 +408,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 a1f96bd6b8..07f7c1dff1 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;
@@ -43,7 +44,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: [email protected]
For additional commands, e-mail: [email protected]