You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2023/05/11 21:35:47 UTC
[tomcat] branch main updated (cf3fb9d59b -> e64a7f5348)
This is an automated email from the ASF dual-hosted git repository.
markt pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/tomcat.git
from cf3fb9d59b Fix typo.
new 0119904e57 Remove support for using ^ rather than * as the separator in WAR URL
new a3057c8d91 Suppress this warning as there is no other option at present
new e64a7f5348 Use URI.create(...) rather than new URI(...)
The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.../catalina/webresources/CachedResource.java | 3 +++
java/org/apache/tomcat/util/buf/UriUtil.java | 6 +-----
test/org/apache/catalina/connector/TestRequest.java | 3 ++-
.../apache/catalina/filters/TestRemoteIpFilter.java | 6 +++---
.../catalina/nonblocking/TestNonBlockingAPI.java | 3 ++-
test/org/apache/catalina/startup/TestTomcat.java | 3 ++-
.../catalina/startup/TestWebappServiceLoader.java | 11 ++++++-----
.../org/apache/catalina/startup/TomcatBaseTest.java | 5 +++--
.../catalina/webresources/TestCachedResource.java | 2 +-
.../webresources/TestClasspathUrlStreamHandler.java | 3 ++-
.../catalina/webresources/TestStandardRoot.java | 16 ++++++----------
.../catalina/webresources/war/TestHandler.java | 21 ++-------------------
.../webresources/war/TestWarURLConnection.java | 5 +++--
test/org/apache/jasper/servlet/TestTldScanner.java | 3 ++-
test/org/apache/juli/TestClassLoaderLogManager.java | 3 ++-
.../apache/tomcat/util/bcel/TesterPerformance.java | 3 ++-
.../apache/tomcat/util/buf/TesterUriUtilBase.java | 9 ++-------
.../util/descriptor/web/TestWebXmlOrdering.java | 4 ++--
.../util/scan/TestAbstractInputStreamJar.java | 4 ++--
.../tomcat/util/scan/TestStandardJarScanner.java | 3 ++-
webapps/docs/changelog.xml | 6 ++++++
21 files changed, 56 insertions(+), 66 deletions(-)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org
[tomcat] 01/03: Remove support for using ^ rather than * as the separator in WAR URL
Posted by ma...@apache.org.
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
commit 0119904e57e4b5f4127193e7b6ec8ff3caea3abd
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Thu May 11 22:25:54 2023 +0100
Remove support for using ^ rather than * as the separator in WAR URL
---
java/org/apache/tomcat/util/buf/UriUtil.java | 6 +-----
.../apache/catalina/webresources/war/TestHandler.java | 18 ------------------
test/org/apache/tomcat/util/buf/TesterUriUtilBase.java | 6 ------
webapps/docs/changelog.xml | 6 ++++++
4 files changed, 7 insertions(+), 29 deletions(-)
diff --git a/java/org/apache/tomcat/util/buf/UriUtil.java b/java/org/apache/tomcat/util/buf/UriUtil.java
index 3665fdcd02..818566abae 100644
--- a/java/org/apache/tomcat/util/buf/UriUtil.java
+++ b/java/org/apache/tomcat/util/buf/UriUtil.java
@@ -33,7 +33,6 @@ public final class UriUtil {
{'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};
private static final Pattern PATTERN_EXCLAMATION_MARK = Pattern.compile("!/");
- private static final Pattern PATTERN_CARET = Pattern.compile("\\^/");
private static final Pattern PATTERN_ASTERISK = Pattern.compile("\\*/");
private static final Pattern PATTERN_CUSTOM;
private static final String REPLACE_CUSTOM;
@@ -170,8 +169,7 @@ public final class UriUtil {
// Since "!/" has a special meaning in a JAR URL, make sure that the
// sequence is properly escaped if present.
String tmp = PATTERN_EXCLAMATION_MARK.matcher(input).replaceAll("%21/");
- // Tomcat's custom jar:war: URL handling treats */ and ^/ as special
- tmp = PATTERN_CARET.matcher(tmp).replaceAll("%5e/");
+ // Tomcat's custom jar:war: URL handling treats */ as special
tmp = PATTERN_ASTERISK.matcher(tmp).replaceAll("%2a/");
if (PATTERN_CUSTOM != null) {
tmp = PATTERN_CUSTOM.matcher(tmp).replaceAll(REPLACE_CUSTOM);
@@ -195,8 +193,6 @@ public final class UriUtil {
String file = warUrl.getFile();
if (file.contains("*/")) {
file = file.replaceFirst("\\*/", "!/");
- } else if (file.contains("^/")) {
- file = file.replaceFirst("\\^/", "!/");
} else if (PATTERN_CUSTOM != null) {
file = file.replaceFirst(PATTERN_CUSTOM.pattern(), "!/");
}
diff --git a/test/org/apache/catalina/webresources/war/TestHandler.java b/test/org/apache/catalina/webresources/war/TestHandler.java
index c4b72bee15..2d1e29166f 100644
--- a/test/org/apache/catalina/webresources/war/TestHandler.java
+++ b/test/org/apache/catalina/webresources/war/TestHandler.java
@@ -18,7 +18,6 @@ package org.apache.catalina.webresources.war;
import java.io.File;
import java.net.URL;
-import java.net.URLConnection;
import org.junit.Assert;
import org.junit.Before;
@@ -61,21 +60,4 @@ public class TestHandler {
Assert.assertEquals(urlString, url.toExternalForm());
}
-
-
- @Test
- public void testOldFormat() throws Exception {
- File f = new File("test/webresources/war-url-connection.war");
- String fileUrl = f.toURI().toURL().toString();
-
- URL indexHtmlUrl = new URL("jar:war:" + fileUrl +
- "^/WEB-INF/lib/test.jar!/META-INF/resources/index.html");
-
- URLConnection urlConn = indexHtmlUrl.openConnection();
- urlConn.connect();
-
- int size = urlConn.getContentLength();
-
- Assert.assertEquals(137, size);
- }
}
diff --git a/test/org/apache/tomcat/util/buf/TesterUriUtilBase.java b/test/org/apache/tomcat/util/buf/TesterUriUtilBase.java
index 9980669aa2..febc7018ef 100644
--- a/test/org/apache/tomcat/util/buf/TesterUriUtilBase.java
+++ b/test/org/apache/tomcat/util/buf/TesterUriUtilBase.java
@@ -85,12 +85,6 @@ public abstract class TesterUriUtilBase {
}
- @Test
- public void testWarToJar01() throws IOException {
- doTestWarToJar("^");
- }
-
-
@Test
public void testWarToJar02() throws IOException {
doTestWarToJar("*");
diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml
index 706b61b93c..f32f27e33e 100644
--- a/webapps/docs/changelog.xml
+++ b/webapps/docs/changelog.xml
@@ -123,6 +123,12 @@
Add RateLimitFilter which can be used to mitigate DoS and Brute Force
attacks. (isapir)
</add>
+ <scode>
+ Remove support for using the <code>^</code> character to separate the
+ WAR file and WAR contents in Tomcat's custom WAR URL handler. The
+ current default separator character of <code>*</code> remains unchanged.
+ (markt)
+ </scode>
</changelog>
</subsection>
</section>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org
[tomcat] 02/03: Suppress this warning as there is no other option at present
Posted by ma...@apache.org.
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
commit a3057c8d9135b36f718163bef43d597098cb8e05
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Thu May 11 22:33:53 2023 +0100
Suppress this warning as there is no other option at present
---
java/org/apache/catalina/webresources/CachedResource.java | 3 +++
1 file changed, 3 insertions(+)
diff --git a/java/org/apache/catalina/webresources/CachedResource.java b/java/org/apache/catalina/webresources/CachedResource.java
index 4338aafa10..332f74f012 100644
--- a/java/org/apache/catalina/webresources/CachedResource.java
+++ b/java/org/apache/catalina/webresources/CachedResource.java
@@ -342,6 +342,9 @@ public class CachedResource implements WebResource {
try {
CachedResourceURLStreamHandler handler = new CachedResourceURLStreamHandler(resourceURL, root, webAppPath,
usesClassLoaderResources);
+ // Need the custom handler for all protocols. URL.of(...) does not allow file to use a custom handler.
+ // Ignore the deprecation for now.
+ @SuppressWarnings("deprecation")
URL result = new URL(null, resourceURL.toExternalForm(), handler);
handler.setCacheURL(result);
return result;
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org
[tomcat] 03/03: Use URI.create(...) rather than new URI(...)
Posted by ma...@apache.org.
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
commit e64a7f53489f9ea57a4c8edb4d83e8c3ea4e0b94
Author: Mark Thomas <ma...@apache.org>
AuthorDate: Thu May 11 22:35:31 2023 +0100
Use URI.create(...) rather than new URI(...)
---
test/org/apache/catalina/connector/TestRequest.java | 3 ++-
test/org/apache/catalina/filters/TestRemoteIpFilter.java | 6 +++---
.../apache/catalina/nonblocking/TestNonBlockingAPI.java | 3 ++-
test/org/apache/catalina/startup/TestTomcat.java | 3 ++-
.../apache/catalina/startup/TestWebappServiceLoader.java | 11 ++++++-----
test/org/apache/catalina/startup/TomcatBaseTest.java | 5 +++--
.../apache/catalina/webresources/TestCachedResource.java | 2 +-
.../webresources/TestClasspathUrlStreamHandler.java | 3 ++-
.../apache/catalina/webresources/TestStandardRoot.java | 16 ++++++----------
.../apache/catalina/webresources/war/TestHandler.java | 3 ++-
.../catalina/webresources/war/TestWarURLConnection.java | 5 +++--
test/org/apache/jasper/servlet/TestTldScanner.java | 3 ++-
test/org/apache/juli/TestClassLoaderLogManager.java | 3 ++-
test/org/apache/tomcat/util/bcel/TesterPerformance.java | 3 ++-
test/org/apache/tomcat/util/buf/TesterUriUtilBase.java | 3 ++-
.../tomcat/util/descriptor/web/TestWebXmlOrdering.java | 4 ++--
.../tomcat/util/scan/TestAbstractInputStreamJar.java | 4 ++--
.../apache/tomcat/util/scan/TestStandardJarScanner.java | 3 ++-
18 files changed, 46 insertions(+), 37 deletions(-)
diff --git a/test/org/apache/catalina/connector/TestRequest.java b/test/org/apache/catalina/connector/TestRequest.java
index 54112be123..d3c4c72168 100644
--- a/test/org/apache/catalina/connector/TestRequest.java
+++ b/test/org/apache/catalina/connector/TestRequest.java
@@ -23,6 +23,7 @@ import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.HttpURLConnection;
+import java.net.URI;
import java.net.URL;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
@@ -628,7 +629,7 @@ public class TestRequest extends TomcatBaseTest {
private HttpURLConnection getConnection(String query) throws IOException {
URL postURL;
- postURL = new URL(query);
+ postURL = URI.create(query).toURL();
HttpURLConnection conn = (HttpURLConnection) postURL.openConnection();
conn.setRequestMethod("POST");
diff --git a/test/org/apache/catalina/filters/TestRemoteIpFilter.java b/test/org/apache/catalina/filters/TestRemoteIpFilter.java
index 8e9b2915bd..de48b98c2b 100644
--- a/test/org/apache/catalina/filters/TestRemoteIpFilter.java
+++ b/test/org/apache/catalina/filters/TestRemoteIpFilter.java
@@ -19,7 +19,7 @@ package org.apache.catalina.filters;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.HttpURLConnection;
-import java.net.URL;
+import java.net.URI;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
@@ -761,8 +761,8 @@ public class TestRemoteIpFilter extends TomcatBaseTest {
getTomcatInstance().start();
// TEST
- HttpURLConnection httpURLConnection = (HttpURLConnection) new URL(
- "http://localhost:" + tomcat.getConnector().getLocalPort() + "/test").openConnection();
+ HttpURLConnection httpURLConnection = (HttpURLConnection) URI.create(
+ "http://localhost:" + tomcat.getConnector().getLocalPort() + "/test").toURL().openConnection();
String expectedRemoteAddr = "my-remote-addr";
httpURLConnection.addRequestProperty("x-forwarded-for", expectedRemoteAddr);
httpURLConnection.addRequestProperty("x-forwarded-proto", "https");
diff --git a/test/org/apache/catalina/nonblocking/TestNonBlockingAPI.java b/test/org/apache/catalina/nonblocking/TestNonBlockingAPI.java
index 49cd5f422c..60a96ea57c 100644
--- a/test/org/apache/catalina/nonblocking/TestNonBlockingAPI.java
+++ b/test/org/apache/catalina/nonblocking/TestNonBlockingAPI.java
@@ -23,6 +23,7 @@ import java.io.Serializable;
import java.lang.reflect.Field;
import java.net.HttpURLConnection;
import java.net.Socket;
+import java.net.URI;
import java.net.URL;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
@@ -894,7 +895,7 @@ public class TestNonBlockingAPI extends TomcatBaseTest {
public static int postUrlWithDisconnect(boolean stream, BytesStreamer streamer, String path,
Map<String, List<String>> reqHead, Map<String, List<String>> resHead) throws IOException {
- URL url = new URL(path);
+ URL url = URI.create(path).toURL();
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoOutput(true);
connection.setReadTimeout(1000000);
diff --git a/test/org/apache/catalina/startup/TestTomcat.java b/test/org/apache/catalina/startup/TestTomcat.java
index 81c0151984..184726203d 100644
--- a/test/org/apache/catalina/startup/TestTomcat.java
+++ b/test/org/apache/catalina/startup/TestTomcat.java
@@ -21,6 +21,7 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
+import java.net.URI;
import java.net.URL;
import java.net.URLConnection;
import java.util.concurrent.atomic.AtomicInteger;
@@ -627,7 +628,7 @@ public class TestTomcat extends TomcatBaseTest {
@Test
public void testAddWebappUrl() throws Exception {
- URL docBase = new URL("jar:" + new File("test/deployment/context.jar").toURI().toString() + "!/context.war");
+ URL docBase = URI.create("jar:" + new File("test/deployment/context.jar").toURI().toString() + "!/context.war").toURL();
Tomcat tomcat = getTomcatInstance();
tomcat.addWebapp("", docBase);
diff --git a/test/org/apache/catalina/startup/TestWebappServiceLoader.java b/test/org/apache/catalina/startup/TestWebappServiceLoader.java
index df8126f0e9..87bf2d8674 100644
--- a/test/org/apache/catalina/startup/TestWebappServiceLoader.java
+++ b/test/org/apache/catalina/startup/TestWebappServiceLoader.java
@@ -17,6 +17,7 @@
package org.apache.catalina.startup;
import java.io.IOException;
+import java.net.URI;
import java.net.URL;
import java.util.Arrays;
import java.util.Collection;
@@ -82,7 +83,7 @@ public class TestWebappServiceLoader {
@Test
@SuppressWarnings("unchecked")
public void testInitializerFromClasspath() throws IOException {
- URL url = new URL("file://test");
+ URL url = URI.create("file://test").toURL();
loader = EasyMock.createMockBuilder(WebappServiceLoader.class)
.addMockedMethod("parseConfigFile", LinkedHashSet.class, URL.class)
.withConstructor(context).createMock(control);
@@ -101,10 +102,10 @@ public class TestWebappServiceLoader {
@Test
@SuppressWarnings("unchecked")
public void testWithOrdering() throws IOException {
- URL url1 = new URL("file://jar1.jar");
- URL sci1 = new URL("jar:file://jar1.jar!/" + CONFIG_FILE);
- URL url2 = new URL("file://dir/");
- URL sci2 = new URL("file://dir/" + CONFIG_FILE);
+ URL url1 = URI.create("file://jar1.jar").toURL();
+ URL sci1 = URI.create("jar:file://jar1.jar!/" + CONFIG_FILE).toURL();
+ URL url2 = URI.create("file://dir/").toURL();
+ URL sci2 = URI.create("file://dir/" + CONFIG_FILE).toURL();
loader = EasyMock.createMockBuilder(WebappServiceLoader.class)
.addMockedMethod("parseConfigFile", LinkedHashSet.class, URL.class)
.withConstructor(context).createMock(control);
diff --git a/test/org/apache/catalina/startup/TomcatBaseTest.java b/test/org/apache/catalina/startup/TomcatBaseTest.java
index 24fa5cd55d..ae2b0b618e 100644
--- a/test/org/apache/catalina/startup/TomcatBaseTest.java
+++ b/test/org/apache/catalina/startup/TomcatBaseTest.java
@@ -24,6 +24,7 @@ import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.HttpURLConnection;
import java.net.InetAddress;
+import java.net.URI;
import java.net.URL;
import java.nio.file.FileVisitResult;
import java.nio.file.FileVisitor;
@@ -659,7 +660,7 @@ public abstract class TomcatBaseTest extends LoggingBaseTest {
Map<String, List<String>> reqHead, Map<String, List<String>> resHead, String method,
boolean followRedirects) throws IOException {
- URL url = new URL(path);
+ URL url = URI.create(path).toURL();
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setUseCaches(false);
connection.setReadTimeout(readTimeout);
@@ -753,7 +754,7 @@ public abstract class TomcatBaseTest extends LoggingBaseTest {
Map<String, List<String>> reqHead,
Map<String, List<String>> resHead) throws IOException {
- URL url = new URL(path);
+ URL url = URI.create(path).toURL();
HttpURLConnection connection =
(HttpURLConnection) url.openConnection();
connection.setDoOutput(true);
diff --git a/test/org/apache/catalina/webresources/TestCachedResource.java b/test/org/apache/catalina/webresources/TestCachedResource.java
index 7e890c7adf..158b31d530 100644
--- a/test/org/apache/catalina/webresources/TestCachedResource.java
+++ b/test/org/apache/catalina/webresources/TestCachedResource.java
@@ -45,7 +45,7 @@ public class TestCachedResource extends TomcatBaseTest {
URL d1 = root.getResource("/d1").getURL();
- URL d1f1 = new URL(d1, "d1-f1.txt");
+ URL d1f1 = d1.toURI().resolve("d1-f1.txt").toURL();
try (InputStream is = d1f1.openStream()) {
Assert.assertNotNull(is);
diff --git a/test/org/apache/catalina/webresources/TestClasspathUrlStreamHandler.java b/test/org/apache/catalina/webresources/TestClasspathUrlStreamHandler.java
index f1bb097b37..22a7a1d35e 100644
--- a/test/org/apache/catalina/webresources/TestClasspathUrlStreamHandler.java
+++ b/test/org/apache/catalina/webresources/TestClasspathUrlStreamHandler.java
@@ -18,6 +18,7 @@ package org.apache.catalina.webresources;
import java.io.IOException;
import java.io.InputStream;
+import java.net.URI;
import java.net.URL;
import java.util.Properties;
@@ -34,7 +35,7 @@ public class TestClasspathUrlStreamHandler {
@Test
public void testClasspathURL01() throws IOException {
- URL u = new URL("classpath:/org/apache/catalina/webresources/LocalStrings.properties");
+ URL u = URI.create("classpath:/org/apache/catalina/webresources/LocalStrings.properties").toURL();
InputStream is = u.openStream();
Properties p = new Properties();
p.load(is);
diff --git a/test/org/apache/catalina/webresources/TestStandardRoot.java b/test/org/apache/catalina/webresources/TestStandardRoot.java
index c44b064e51..2a66c33c5f 100644
--- a/test/org/apache/catalina/webresources/TestStandardRoot.java
+++ b/test/org/apache/catalina/webresources/TestStandardRoot.java
@@ -18,6 +18,7 @@ package org.apache.catalina.webresources;
import java.io.File;
import java.net.MalformedURLException;
+import java.net.URI;
import java.net.URL;
import org.junit.Assert;
@@ -44,32 +45,27 @@ public class TestStandardRoot {
@Test
public void testBaseLocation01() throws Exception {
- doTestBaseLocation(new URL (fileUrl),
- file.getAbsolutePath(), null);
+ doTestBaseLocation(URI.create(fileUrl).toURL(), file.getAbsolutePath(), null);
}
@Test
public void testBaseLocation02() throws Exception {
- doTestBaseLocation(new URL ("jar:" + fileUrl + "!/"),
- file.getAbsolutePath(), null);
+ doTestBaseLocation(URI.create("jar:" + fileUrl + "!/").toURL(), file.getAbsolutePath(), null);
}
@Test
public void testBaseLocation03() throws Exception {
- doTestBaseLocation(new URL ("jar:" + fileUrl + "!/bar"),
- file.getAbsolutePath(), "bar");
+ doTestBaseLocation(URI.create("jar:" + fileUrl + "!/bar").toURL(), file.getAbsolutePath(), "bar");
}
@Test
public void testBaseLocation04() throws Exception {
- doTestBaseLocation(new URL ("jar:" + fileUrl + "!/bar/bar"),
- file.getAbsolutePath(), "bar/bar");
+ doTestBaseLocation(URI.create("jar:" + fileUrl + "!/bar/bar").toURL(), file.getAbsolutePath(), "bar/bar");
}
@Test(expected=IllegalArgumentException.class)
public void testBaseLocation05() throws Exception {
- doTestBaseLocation(new URL ("http://localhost:8080/foo"),
- null, null);
+ doTestBaseLocation(URI.create("http://localhost:8080/foo").toURL(), null, null);
}
private void doTestBaseLocation(URL url, String expectedBasePath,
diff --git a/test/org/apache/catalina/webresources/war/TestHandler.java b/test/org/apache/catalina/webresources/war/TestHandler.java
index 2d1e29166f..fc8ad3ae6b 100644
--- a/test/org/apache/catalina/webresources/war/TestHandler.java
+++ b/test/org/apache/catalina/webresources/war/TestHandler.java
@@ -17,6 +17,7 @@
package org.apache.catalina.webresources.war;
import java.io.File;
+import java.net.URI;
import java.net.URL;
import org.junit.Assert;
@@ -56,7 +57,7 @@ public class TestHandler {
String fileUrl = f.toURI().toURL().toString();
String urlString = prefix + fileUrl + suffix;
- URL url = new URL(urlString);
+ URL url = URI.create(urlString).toURL();
Assert.assertEquals(urlString, url.toExternalForm());
}
diff --git a/test/org/apache/catalina/webresources/war/TestWarURLConnection.java b/test/org/apache/catalina/webresources/war/TestWarURLConnection.java
index f005115824..a3db19ee1d 100644
--- a/test/org/apache/catalina/webresources/war/TestWarURLConnection.java
+++ b/test/org/apache/catalina/webresources/war/TestWarURLConnection.java
@@ -17,6 +17,7 @@
package org.apache.catalina.webresources.war;
import java.io.File;
+import java.net.URI;
import java.net.URL;
import java.net.URLConnection;
@@ -39,8 +40,8 @@ public class TestWarURLConnection {
File f = new File("test/webresources/war-url-connection.war");
String fileUrl = f.toURI().toURL().toString();
- URL indexHtmlUrl = new URL("jar:war:" + fileUrl +
- "*/WEB-INF/lib/test.jar!/META-INF/resources/index.html");
+ URL indexHtmlUrl =
+ URI.create("jar:war:" + fileUrl + "*/WEB-INF/lib/test.jar!/META-INF/resources/index.html").toURL();
URLConnection urlConn = indexHtmlUrl.openConnection();
urlConn.connect();
diff --git a/test/org/apache/jasper/servlet/TestTldScanner.java b/test/org/apache/jasper/servlet/TestTldScanner.java
index ce9727e781..893f12a144 100644
--- a/test/org/apache/jasper/servlet/TestTldScanner.java
+++ b/test/org/apache/jasper/servlet/TestTldScanner.java
@@ -19,6 +19,7 @@ package org.apache.jasper.servlet;
import java.io.File;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
+import java.net.URI;
import java.net.URL;
import java.util.HashMap;
import java.util.List;
@@ -116,7 +117,7 @@ public class TestTldScanner extends TomcatBaseTest {
private static void scan(TldScanner.TldScannerCallback callback, File webapp, String path)
throws Exception {
String fullPath = new File(webapp, path).toURI().toString();
- URL jarUrl = new URL("jar:" + fullPath + "!/");
+ URL jarUrl = URI.create("jar:" + fullPath + "!/").toURL();
try (Jar jar = JarFactory.newInstance(jarUrl)) {
callback.scan(jar, path, true);
}
diff --git a/test/org/apache/juli/TestClassLoaderLogManager.java b/test/org/apache/juli/TestClassLoaderLogManager.java
index 972d36b2ea..1235fbea75 100644
--- a/test/org/apache/juli/TestClassLoaderLogManager.java
+++ b/test/org/apache/juli/TestClassLoaderLogManager.java
@@ -21,6 +21,7 @@ import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
+import java.net.URI;
import java.net.URL;
import java.net.URLClassLoader;
import java.util.Collections;
@@ -195,7 +196,7 @@ public class TestClassLoaderLogManager {
public URL findResource(String name) {
if ("logging.properties".equals(name)) {
try {
- return new URL("file:///path/does/not/exist");
+ return URI.create("file:///path/does/not/exist").toURL();
} catch (MalformedURLException e) {
// Should never happen
throw new IllegalArgumentException(e);
diff --git a/test/org/apache/tomcat/util/bcel/TesterPerformance.java b/test/org/apache/tomcat/util/bcel/TesterPerformance.java
index 9319c47e2e..b3400dc7d8 100644
--- a/test/org/apache/tomcat/util/bcel/TesterPerformance.java
+++ b/test/org/apache/tomcat/util/bcel/TesterPerformance.java
@@ -19,6 +19,7 @@ package org.apache.tomcat.util.bcel;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
+import java.net.URI;
import java.net.URL;
import java.util.HashSet;
import java.util.Locale;
@@ -48,7 +49,7 @@ public class TesterPerformance {
if (!lib.toLowerCase(Locale.ENGLISH).endsWith(".jar")) {
continue;
}
- jarURLs.add(new URL("jar:" + new File (libDir, lib).toURI().toURL().toExternalForm() + "!/"));
+ jarURLs.add(URI.create("jar:" + new File (libDir, lib).toURI().toURL().toExternalForm() + "!/").toURL());
}
long duration = 0;
diff --git a/test/org/apache/tomcat/util/buf/TesterUriUtilBase.java b/test/org/apache/tomcat/util/buf/TesterUriUtilBase.java
index febc7018ef..1de4724130 100644
--- a/test/org/apache/tomcat/util/buf/TesterUriUtilBase.java
+++ b/test/org/apache/tomcat/util/buf/TesterUriUtilBase.java
@@ -18,6 +18,7 @@ package org.apache.tomcat.util.buf;
import java.io.File;
import java.io.IOException;
+import java.net.URI;
import java.net.URL;
import org.junit.Assert;
@@ -98,7 +99,7 @@ public abstract class TesterUriUtilBase {
private void doTestWarToJar(String separator) throws IOException {
- URL warUrl = new URL("war:file:/external/path" + separator + "/internal/path");
+ URL warUrl = URI.create("war:file:/external/path" + separator + "/internal/path").toURL();
URL jarUrl = UriUtil.warToJar(warUrl);
Assert.assertEquals("jar:file:/external/path!/internal/path", jarUrl.toString());
}
diff --git a/test/org/apache/tomcat/util/descriptor/web/TestWebXmlOrdering.java b/test/org/apache/tomcat/util/descriptor/web/TestWebXmlOrdering.java
index 40b62ab300..c218cf0284 100644
--- a/test/org/apache/tomcat/util/descriptor/web/TestWebXmlOrdering.java
+++ b/test/org/apache/tomcat/util/descriptor/web/TestWebXmlOrdering.java
@@ -17,7 +17,7 @@
package org.apache.tomcat.util.descriptor.web;
import java.net.MalformedURLException;
-import java.net.URL;
+import java.net.URI;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
@@ -353,7 +353,7 @@ public class TestWebXmlOrdering {
@Test(expected=IllegalArgumentException.class)
public void testOrderWebFragmentsRelativeDuplicate() throws MalformedURLException {
WebXml withDuplicate = new WebXml();
- withDuplicate.setURL(new URL("https://example.com/original.jar"));
+ withDuplicate.setURL(URI.create("https://example.com/original.jar").toURL());
withDuplicate.addDuplicate("https://example.com/duplicate.jar");
Map<String,WebXml> fragmentsWithDuplicate = new LinkedHashMap<>();
diff --git a/test/org/apache/tomcat/util/scan/TestAbstractInputStreamJar.java b/test/org/apache/tomcat/util/scan/TestAbstractInputStreamJar.java
index b6f96e2b17..3ffe7eebd9 100644
--- a/test/org/apache/tomcat/util/scan/TestAbstractInputStreamJar.java
+++ b/test/org/apache/tomcat/util/scan/TestAbstractInputStreamJar.java
@@ -19,7 +19,7 @@ package org.apache.tomcat.util.scan;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.InputStream;
-import java.net.URL;
+import java.net.URI;
import org.junit.Assert;
import org.junit.Before;
@@ -44,7 +44,7 @@ public class TestAbstractInputStreamJar {
sb.append(f.toURI().toURL());
sb.append("*/WEB-INF/lib/test.jar");
- Jar jar = JarFactory.newInstance(new URL(sb.toString()));
+ Jar jar = JarFactory.newInstance(URI.create(sb.toString()).toURL());
InputStream is1 = jar.getInputStream("META-INF/resources/index.html");
ByteArrayOutputStream baos1 = new ByteArrayOutputStream();
diff --git a/test/org/apache/tomcat/util/scan/TestStandardJarScanner.java b/test/org/apache/tomcat/util/scan/TestStandardJarScanner.java
index da9d94129c..cabfebc3d3 100644
--- a/test/org/apache/tomcat/util/scan/TestStandardJarScanner.java
+++ b/test/org/apache/tomcat/util/scan/TestStandardJarScanner.java
@@ -19,6 +19,7 @@ package org.apache.tomcat.util.scan;
import java.io.File;
import java.io.IOException;
import java.net.MalformedURLException;
+import java.net.URI;
import java.net.URL;
import java.net.URLClassLoader;
import java.util.ArrayList;
@@ -46,7 +47,7 @@ public class TestStandardJarScanner {
URLClassLoader urlClassLoader;
try {
urlClassLoader = new URLClassLoader(
- new URL[] { new URL("http://felix.extensions:9/") });
+ new URL[] { URI.create("http://felix.extensions:9/").toURL() });
} catch (MalformedURLException e) {
throw new RuntimeException(e);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org