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:50 UTC

[tomcat] 03/03: Use URI.create(...) rather than new URI(...)

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