This is an automated email from the ASF dual-hosted git repository.
markt pushed a commit to branch 9.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/9.0.x by this push:
new 10353648bc More URL -> URI refactoring
10353648bc is described below
commit 10353648bcb0500e1c89c64946ab145a4bd50a70
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 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 6935071db7..0fc76f3fcd 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 9008a63b0c..5668065c59 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;
@@ -516,12 +517,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 10f44af3c9..8e64b8747d 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 d2b3231cad..fc91f9d028 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;
@@ -386,8 +388,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;
@@ -400,9 +406,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 afda3cad54..a5401e4a88 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: [email protected]
For additional commands, e-mail: [email protected]