This is an automated email from the ASF dual-hosted git repository.
markt pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/main by this push:
new 77f98c1c3c Final URL -> URI refactoring
77f98c1c3c is described below
commit 77f98c1c3c6397066ed9be01fad3834c71cc3a0a
Author: Mark Thomas <[email protected]>
AuthorDate: Wed Nov 16 19:19:43 2022 +0000
Final URL -> URI refactoring
These require API changes so no plans to back-port.
---
.../AbstractSingleArchiveResourceSet.java | 3 +--
.../catalina/webresources/JarWarResourceSet.java | 3 +--
java/org/apache/tomcat/util/scan/JarFactory.java | 14 ++++++++++----
.../apache/tomcat/util/buf/TesterUriUtilBase.java | 20 ++++++++++----------
4 files changed, 22 insertions(+), 18 deletions(-)
diff --git
a/java/org/apache/catalina/webresources/AbstractSingleArchiveResourceSet.java
b/java/org/apache/catalina/webresources/AbstractSingleArchiveResourceSet.java
index 5edf114f77..688e2128ae 100644
---
a/java/org/apache/catalina/webresources/AbstractSingleArchiveResourceSet.java
+++
b/java/org/apache/catalina/webresources/AbstractSingleArchiveResourceSet.java
@@ -18,7 +18,6 @@ package org.apache.catalina.webresources;
import java.io.File;
import java.io.IOException;
-import java.net.MalformedURLException;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;
@@ -144,7 +143,7 @@ public abstract class AbstractSingleArchiveResourceSet
extends AbstractArchiveRe
try {
setBaseUrl(UriUtil.buildJarSafeUrl(new File(getBase())));
- } catch (MalformedURLException e) {
+ } catch (IOException e) {
throw new IllegalArgumentException(e);
}
}
diff --git a/java/org/apache/catalina/webresources/JarWarResourceSet.java
b/java/org/apache/catalina/webresources/JarWarResourceSet.java
index 37253fc390..215cf3b07f 100644
--- a/java/org/apache/catalina/webresources/JarWarResourceSet.java
+++ b/java/org/apache/catalina/webresources/JarWarResourceSet.java
@@ -19,7 +19,6 @@ package org.apache.catalina.webresources;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
-import java.net.MalformedURLException;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
@@ -250,7 +249,7 @@ public class JarWarResourceSet extends
AbstractArchiveResourceSet {
try {
setBaseUrl(UriUtil.buildJarSafeUrl(new File(getBase())));
- } catch (MalformedURLException e) {
+ } catch (IOException e) {
throw new IllegalArgumentException(e);
}
}
diff --git a/java/org/apache/tomcat/util/scan/JarFactory.java
b/java/org/apache/tomcat/util/scan/JarFactory.java
index 51c0011ed1..ec6a438ad8 100644
--- a/java/org/apache/tomcat/util/scan/JarFactory.java
+++ b/java/org/apache/tomcat/util/scan/JarFactory.java
@@ -17,7 +17,8 @@
package org.apache.tomcat.util.scan;
import java.io.IOException;
-import java.net.MalformedURLException;
+import java.net.URI;
+import java.net.URISyntaxException;
import java.net.URL;
import java.util.regex.Matcher;
@@ -53,8 +54,7 @@ public class JarFactory {
}
- public static URL getJarEntryURL(URL baseUrl, String entryName)
- throws MalformedURLException {
+ public static URL getJarEntryURL(URL baseUrl, String entryName) throws
IOException {
String baseExternal = baseUrl.toExternalForm();
@@ -66,6 +66,12 @@ public class JarFactory {
Matcher.quoteReplacement(UriUtil.getWarSeparator()));
}
- return new URL("jar:" + baseExternal + "!/" + entryName);
+ URI uri;
+ try {
+ uri = new URI("jar:" + baseExternal + "!/" + entryName);
+ } catch (URISyntaxException e) {
+ throw new IOException(e);
+ }
+ return uri.toURL();
}
}
diff --git a/test/org/apache/tomcat/util/buf/TesterUriUtilBase.java
b/test/org/apache/tomcat/util/buf/TesterUriUtilBase.java
index b176788bf4..9980669aa2 100644
--- a/test/org/apache/tomcat/util/buf/TesterUriUtilBase.java
+++ b/test/org/apache/tomcat/util/buf/TesterUriUtilBase.java
@@ -17,7 +17,7 @@
package org.apache.tomcat.util.buf;
import java.io.File;
-import java.net.MalformedURLException;
+import java.io.IOException;
import java.net.URL;
import org.junit.Assert;
@@ -37,7 +37,7 @@ public abstract class TesterUriUtilBase {
@Test
- public void testBuildJarUrl01() throws MalformedURLException {
+ public void testBuildJarUrl01() throws IOException {
File jarFile = new File("/patha/pathb!/pathc");
String result = UriUtil.buildJarUrl(jarFile).toString();
@@ -47,7 +47,7 @@ public abstract class TesterUriUtilBase {
@Test
- public void testBuildJarUrl02() throws MalformedURLException {
+ public void testBuildJarUrl02() throws IOException {
File jarFile = new File("/patha/pathb*/pathc");
String result = UriUtil.buildJarUrl(jarFile).toString();
@@ -60,7 +60,7 @@ public abstract class TesterUriUtilBase {
@Test
- public void testBuildJarUrl03() throws MalformedURLException {
+ public void testBuildJarUrl03() throws IOException {
File jarFile = new File("/patha/pathb^/pathc");
String result = UriUtil.buildJarUrl(jarFile).toString();
@@ -73,7 +73,7 @@ public abstract class TesterUriUtilBase {
@Test
- public void testBuildJarUrl04() throws MalformedURLException {
+ public void testBuildJarUrl04() throws IOException {
File jarFile = new File("/patha/pathb" + separator + "/pathc");
String result = UriUtil.buildJarUrl(jarFile).toString();
@@ -86,24 +86,24 @@ public abstract class TesterUriUtilBase {
@Test
- public void testWarToJar01() throws MalformedURLException {
+ public void testWarToJar01() throws IOException {
doTestWarToJar("^");
}
@Test
- public void testWarToJar02() throws MalformedURLException {
+ public void testWarToJar02() throws IOException {
doTestWarToJar("*");
}
@Test
- public void testWarToJar03() throws MalformedURLException {
+ public void testWarToJar03() throws IOException {
doTestWarToJar(separator);
}
- private void doTestWarToJar(String separator) throws MalformedURLException
{
+ private void doTestWarToJar(String separator) throws IOException {
URL warUrl = new URL("war:file:/external/path" + separator +
"/internal/path");
URL jarUrl = UriUtil.warToJar(warUrl);
Assert.assertEquals("jar:file:/external/path!/internal/path",
jarUrl.toString());
@@ -111,7 +111,7 @@ public abstract class TesterUriUtilBase {
// @Test /* Uncomment to test performance for different implementations. */
- public void performanceTestBuildJarUrl() throws MalformedURLException {
+ public void performanceTestBuildJarUrl() throws IOException {
File jarFile = new File("/patha/pathb^/pathc");
URL url = null;
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]