This is an automated email from the ASF dual-hosted git repository.

exceptionfactory pushed a commit to branch support/nifi-1.x
in repository https://gitbox.apache.org/repos/asf/nifi.git


The following commit(s) were added to refs/heads/support/nifi-1.x by this push:
     new 18ab14b148 NIFI-12103 Replaced deprecated usage of new URL(String)
18ab14b148 is described below

commit 18ab14b148793695134bafcbe0fdbc2a5de0d853
Author: Pierre Villard <pierre.villard...@gmail.com>
AuthorDate: Thu Sep 21 13:05:00 2023 -0500

    NIFI-12103 Replaced deprecated usage of new URL(String)
    
    This closes #7771
    
    Signed-off-by: David Handermann <exceptionfact...@apache.org>
    
    (cherry picked from commit 2aca08910c4e06fff2c98d3794d9b5a3cd427988)
---
 .../c2/integration/test/AbstractTestSecure.java    |  6 +++---
 .../c2/integration/test/AbstractTestUnsecure.java  |  4 ++--
 .../test/health/HttpStatusCodeHealthCheck.java     |  4 ++--
 .../test/health/HttpsStatusCodeHealthCheck.java    |  4 ++--
 .../minifi/c2/provider/util/HttpConnector.java     |  5 +++--
 .../nifi/minifi/integration/util/LogUtil.java      |  3 ++-
 .../resource/StandardResourceReferenceFactory.java |  5 +++--
 .../nifi/remote/util/SiteToSiteRestApiClient.java  | 23 ++++++++++++++++------
 .../nifi/processor/util/StandardValidators.java    |  7 +++----
 .../util/file/classloader/ClassLoaderUtils.java    |  4 ++--
 .../file/classloader/TestClassLoaderUtils.java     |  3 ++-
 .../validators/ConnectHttpUrlValidator.java        |  5 ++---
 .../AbstractNiFiProvenanceEventAnalyzer.java       |  4 ++--
 .../nifi/atlas/reporting/ReportLineageToAtlas.java | 20 ++++++-------------
 .../atlas/reporting/TestReportLineageToAtlas.java  |  5 ++---
 .../aws/wag/AbstractAWSGatewayApiProcessor.java    |  3 +--
 .../AzureLogAnalyticsProvenanceReportingTask.java  |  8 +++-----
 .../ElasticSearchClientServiceImpl.java            |  5 +++--
 .../integration/AbstractElasticsearchITBase.java   |  3 ++-
 .../OidcAuthenticationSuccessHandlerTest.java      |  5 +++--
 .../prometheus/PrometheusReportingTaskIT.java      |  5 ++---
 .../prometheus/TestPrometheusRecordSink.java       |  5 ++---
 .../SiteToSiteProvenanceReportingTask.java         |  5 +++--
 .../reporting/SiteToSiteStatusReportingTask.java   |  5 +++--
 .../org/apache/nifi/processors/slack/PutSlack.java |  3 ++-
 .../nifi/processors/standard/InvokeHTTP.java       |  3 ++-
 .../standard/ITestHandleHttpRequest.java           | 14 ++++++-------
 .../nifi/processors/standard/InvokeHTTPTest.java   | 11 +++++------
 .../registry/security/util/ClassLoaderUtils.java   |  5 +++--
 .../oidc/StandardOidcIdentityProvider.java         |  2 +-
 .../registry/FileSystemFlowRegistryClient.java     |  5 ++---
 .../toolkit/cli/impl/command/AbstractCommand.java  |  6 ++----
 32 files changed, 99 insertions(+), 96 deletions(-)

diff --git 
a/minifi/minifi-c2/minifi-c2-integration-tests/src/test/java/org/apache/nifi/minifi/c2/integration/test/AbstractTestSecure.java
 
b/minifi/minifi-c2/minifi-c2-integration-tests/src/test/java/org/apache/nifi/minifi/c2/integration/test/AbstractTestSecure.java
index d63274417b..86f787929e 100644
--- 
a/minifi/minifi-c2/minifi-c2-integration-tests/src/test/java/org/apache/nifi/minifi/c2/integration/test/AbstractTestSecure.java
+++ 
b/minifi/minifi-c2/minifi-c2-integration-tests/src/test/java/org/apache/nifi/minifi/c2/integration/test/AbstractTestSecure.java
@@ -40,7 +40,7 @@ import java.io.InputStream;
 import java.net.HttpURLConnection;
 import java.net.InetSocketAddress;
 import java.net.Proxy;
-import java.net.URL;
+import java.net.URI;
 import java.nio.charset.StandardCharsets;
 import java.nio.file.Files;
 import java.nio.file.Path;
@@ -194,8 +194,8 @@ public abstract class AbstractTestSecure extends 
AbstractTestUnsecure {
 
     protected HttpsURLConnection openUrlConnection(String url, SSLContext 
sslContext) throws IOException {
         DockerPort dockerPort = 
docker.containers().container("squid").port(3128);
-        HttpsURLConnection httpURLConnection = (HttpsURLConnection) new 
URL(url).openConnection(
-                new Proxy(Proxy.Type.HTTP, new 
InetSocketAddress(dockerPort.getIp(), dockerPort.getExternalPort())));
+        HttpsURLConnection httpURLConnection = (HttpsURLConnection) 
URI.create(url).toURL().openConnection(
+            new Proxy(Proxy.Type.HTTP, new 
InetSocketAddress(dockerPort.getIp(), dockerPort.getExternalPort())));
         httpURLConnection.setSSLSocketFactory(sslContext.getSocketFactory());
         return httpURLConnection;
     }
diff --git 
a/minifi/minifi-c2/minifi-c2-integration-tests/src/test/java/org/apache/nifi/minifi/c2/integration/test/AbstractTestUnsecure.java
 
b/minifi/minifi-c2/minifi-c2-integration-tests/src/test/java/org/apache/nifi/minifi/c2/integration/test/AbstractTestUnsecure.java
index 4fead5fb19..208d1dabdb 100644
--- 
a/minifi/minifi-c2/minifi-c2-integration-tests/src/test/java/org/apache/nifi/minifi/c2/integration/test/AbstractTestUnsecure.java
+++ 
b/minifi/minifi-c2/minifi-c2-integration-tests/src/test/java/org/apache/nifi/minifi/c2/integration/test/AbstractTestUnsecure.java
@@ -28,7 +28,7 @@ import org.junit.jupiter.api.Test;
 import java.io.IOException;
 import java.io.InputStream;
 import java.net.HttpURLConnection;
-import java.net.URL;
+import java.net.URI;
 
 import static org.junit.jupiter.api.Assertions.assertEquals;
 
@@ -102,6 +102,6 @@ public abstract class AbstractTestUnsecure {
     }
 
     protected HttpURLConnection openSuperUserUrlConnection(String url) throws 
IOException {
-        return (HttpURLConnection) new URL(url).openConnection();
+        return (HttpURLConnection) URI.create(url).toURL().openConnection();
     }
 }
diff --git 
a/minifi/minifi-c2/minifi-c2-integration-tests/src/test/java/org/apache/nifi/minifi/c2/integration/test/health/HttpStatusCodeHealthCheck.java
 
b/minifi/minifi-c2/minifi-c2-integration-tests/src/test/java/org/apache/nifi/minifi/c2/integration/test/health/HttpStatusCodeHealthCheck.java
index f639d9678d..fe8d64e2d7 100644
--- 
a/minifi/minifi-c2/minifi-c2-integration-tests/src/test/java/org/apache/nifi/minifi/c2/integration/test/health/HttpStatusCodeHealthCheck.java
+++ 
b/minifi/minifi-c2/minifi-c2-integration-tests/src/test/java/org/apache/nifi/minifi/c2/integration/test/health/HttpStatusCodeHealthCheck.java
@@ -23,7 +23,7 @@ import 
com.palantir.docker.compose.connection.waiting.SuccessOrFailure;
 
 import java.io.IOException;
 import java.net.HttpURLConnection;
-import java.net.URL;
+import java.net.URI;
 import java.util.function.Function;
 
 public class HttpStatusCodeHealthCheck implements HealthCheck<Container> {
@@ -50,6 +50,6 @@ public class HttpStatusCodeHealthCheck implements 
HealthCheck<Container> {
     }
 
     protected HttpURLConnection openConnection(String url) throws IOException {
-        return ((HttpURLConnection) new URL(url).openConnection());
+        return ((HttpURLConnection) URI.create(url).toURL().openConnection());
     }
 }
diff --git 
a/minifi/minifi-c2/minifi-c2-integration-tests/src/test/java/org/apache/nifi/minifi/c2/integration/test/health/HttpsStatusCodeHealthCheck.java
 
b/minifi/minifi-c2/minifi-c2-integration-tests/src/test/java/org/apache/nifi/minifi/c2/integration/test/health/HttpsStatusCodeHealthCheck.java
index 9842e78492..19e2e5b66c 100644
--- 
a/minifi/minifi-c2/minifi-c2-integration-tests/src/test/java/org/apache/nifi/minifi/c2/integration/test/health/HttpsStatusCodeHealthCheck.java
+++ 
b/minifi/minifi-c2/minifi-c2-integration-tests/src/test/java/org/apache/nifi/minifi/c2/integration/test/health/HttpsStatusCodeHealthCheck.java
@@ -28,7 +28,7 @@ import java.io.IOException;
 import java.net.HttpURLConnection;
 import java.net.InetSocketAddress;
 import java.net.Proxy;
-import java.net.URL;
+import java.net.URI;
 import java.util.List;
 import java.util.function.Function;
 import java.util.function.Supplier;
@@ -62,7 +62,7 @@ public class HttpsStatusCodeHealthCheck implements 
HealthCheck<List<Container>>
     }
 
     public static HttpURLConnection getHttpURLConnection(String url, 
SSLSocketFactory sslSocketFactory, String proxyHostname, int proxyPort) throws 
IOException {
-        HttpsURLConnection httpURLConnection = (HttpsURLConnection) new 
URL(url).openConnection(
+        HttpsURLConnection httpURLConnection = (HttpsURLConnection) 
URI.create(url).toURL().openConnection(
                 new Proxy(Proxy.Type.HTTP, new 
InetSocketAddress(proxyHostname, proxyPort)));
         httpURLConnection.setSSLSocketFactory(sslSocketFactory);
         return httpURLConnection;
diff --git 
a/minifi/minifi-c2/minifi-c2-provider/minifi-c2-provider-util/src/main/java/org/apache/nifi/minifi/c2/provider/util/HttpConnector.java
 
b/minifi/minifi-c2/minifi-c2-provider/minifi-c2-provider-util/src/main/java/org/apache/nifi/minifi/c2/provider/util/HttpConnector.java
index 49fe6a70a9..8b82be1fd8 100644
--- 
a/minifi/minifi-c2/minifi-c2-provider/minifi-c2-provider-util/src/main/java/org/apache/nifi/minifi/c2/provider/util/HttpConnector.java
+++ 
b/minifi/minifi-c2/minifi-c2-provider/minifi-c2-provider-util/src/main/java/org/apache/nifi/minifi/c2/provider/util/HttpConnector.java
@@ -33,6 +33,7 @@ import java.net.HttpURLConnection;
 import java.net.InetSocketAddress;
 import java.net.MalformedURLException;
 import java.net.Proxy;
+import java.net.URI;
 import java.net.URL;
 import java.nio.charset.StandardCharsets;
 import java.nio.file.Path;
@@ -150,8 +151,8 @@ public class HttpConnector {
         }
         URL url;
         try {
-            url = new URL(endpointUrl);
-        } catch (MalformedURLException e) {
+            url = URI.create(endpointUrl).toURL();
+        } catch (IllegalArgumentException | MalformedURLException e) {
             throw new ConfigurationProviderException("Malformed url " + 
endpointUrl, e);
         }
 
diff --git 
a/minifi/minifi-integration-tests/src/test/java/org/apache/nifi/minifi/integration/util/LogUtil.java
 
b/minifi/minifi-integration-tests/src/test/java/org/apache/nifi/minifi/integration/util/LogUtil.java
index d03760fa1d..484cbe9368 100644
--- 
a/minifi/minifi-integration-tests/src/test/java/org/apache/nifi/minifi/integration/util/LogUtil.java
+++ 
b/minifi/minifi-integration-tests/src/test/java/org/apache/nifi/minifi/integration/util/LogUtil.java
@@ -27,6 +27,7 @@ import java.io.BufferedReader;
 import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.net.HttpURLConnection;
+import java.net.URI;
 import java.net.URL;
 import java.util.List;
 import java.util.Map;
@@ -46,7 +47,7 @@ public class LogUtil {
         }
         DockerPort dockerPort = container.port(8000);
         logger.info("Connecting to external port {} for docker internal port 
of {}", new Object[]{dockerPort.getExternalPort(), 
dockerPort.getInternalPort()});
-        URL url = new URL("http://"; + dockerPort.getIp() + ":" + 
dockerPort.getExternalPort());
+        URL url = URI.create("http://"; + dockerPort.getIp() + ":" + 
dockerPort.getExternalPort()).toURL();
         HttpURLConnection urlConnection = (HttpURLConnection) 
url.openConnection();
         try (InputStream inputStream = urlConnection.getInputStream();
              InputStreamReader inputStreamReader = new 
InputStreamReader(inputStream);
diff --git 
a/nifi-api/src/main/java/org/apache/nifi/components/resource/StandardResourceReferenceFactory.java
 
b/nifi-api/src/main/java/org/apache/nifi/components/resource/StandardResourceReferenceFactory.java
index 538496182d..3980a9bde4 100644
--- 
a/nifi-api/src/main/java/org/apache/nifi/components/resource/StandardResourceReferenceFactory.java
+++ 
b/nifi-api/src/main/java/org/apache/nifi/components/resource/StandardResourceReferenceFactory.java
@@ -19,6 +19,7 @@ package org.apache.nifi.components.resource;
 
 import java.io.File;
 import java.net.MalformedURLException;
+import java.net.URI;
 import java.net.URL;
 import java.util.ArrayList;
 import java.util.Collections;
@@ -69,11 +70,11 @@ public class StandardResourceReferenceFactory implements 
ResourceReferenceFactor
         if (allowedResourceTypes.contains(ResourceType.URL)) {
             try {
                 if (trimmed.startsWith("http://";) || 
trimmed.startsWith("https://";)) {
-                    return new URLResourceReference(new URL(trimmed));
+                    return new 
URLResourceReference(URI.create(trimmed).toURL());
                 }
 
                 if (trimmed.startsWith("file:")) {
-                    final URL url = new URL(trimmed);
+                    final URL url = URI.create(trimmed).toURL();
                     final String filename = url.getFile();
                     final File file = new File(filename);
                     return new FileResourceReference(file);
diff --git 
a/nifi-commons/nifi-site-to-site-client/src/main/java/org/apache/nifi/remote/util/SiteToSiteRestApiClient.java
 
b/nifi-commons/nifi-site-to-site-client/src/main/java/org/apache/nifi/remote/util/SiteToSiteRestApiClient.java
index cd34cbccf3..0470feaaa1 100644
--- 
a/nifi-commons/nifi-site-to-site-client/src/main/java/org/apache/nifi/remote/util/SiteToSiteRestApiClient.java
+++ 
b/nifi-commons/nifi-site-to-site-client/src/main/java/org/apache/nifi/remote/util/SiteToSiteRestApiClient.java
@@ -38,10 +38,8 @@ import java.io.InputStream;
 import java.io.PipedInputStream;
 import java.io.PipedOutputStream;
 import java.net.InetAddress;
-import java.net.MalformedURLException;
 import java.net.URI;
 import java.net.URISyntaxException;
-import java.net.URL;
 import java.nio.ByteBuffer;
 import java.nio.channels.Channels;
 import java.nio.channels.ReadableByteChannel;
@@ -93,6 +91,7 @@ import org.apache.http.client.methods.HttpGet;
 import org.apache.http.client.methods.HttpPost;
 import org.apache.http.client.methods.HttpPut;
 import org.apache.http.client.methods.HttpRequestBase;
+import org.apache.http.client.utils.URIBuilder;
 import org.apache.http.client.utils.URIUtils;
 import org.apache.http.conn.ManagedHttpClientConnection;
 import org.apache.http.entity.BasicHttpEntity;
@@ -1356,8 +1355,14 @@ public class SiteToSiteRestApiClient implements 
Closeable {
         }
 
         try {
-            return new URL(clusterUrl.getScheme(), clusterUrl.getHost(), 
clusterUrl.getPort(), uriPath).toURI().toString();
-        } catch (MalformedURLException|URISyntaxException e) {
+            return new URIBuilder()
+                    .setScheme(clusterUrl.getScheme())
+                    .setHost(clusterUrl.getHost())
+                    .setPort(clusterUrl.getPort())
+                    .setPath(uriPath)
+                    .build()
+                    .toString();
+        } catch (URISyntaxException e) {
             throw new IllegalArgumentException(e);
         }
     }
@@ -1369,8 +1374,14 @@ public class SiteToSiteRestApiClient implements 
Closeable {
     private void setBaseUrl(final String scheme, final String host, final int 
port, final String path) {
         final String baseUri;
         try {
-            baseUri = new URL(scheme, host, port, path).toURI().toString();
-        } catch (MalformedURLException|URISyntaxException e) {
+            baseUri = new URIBuilder()
+                    .setScheme(scheme)
+                    .setHost(host)
+                    .setPort(port)
+                    .setPath(path)
+                    .build()
+                    .toString();
+        } catch (URISyntaxException e) {
             throw new IllegalArgumentException(e);
         }
         this.setBaseUrl(baseUri);
diff --git 
a/nifi-commons/nifi-utils/src/main/java/org/apache/nifi/processor/util/StandardValidators.java
 
b/nifi-commons/nifi-utils/src/main/java/org/apache/nifi/processor/util/StandardValidators.java
index 65bbcd15a5..2e146ccbb6 100644
--- 
a/nifi-commons/nifi-utils/src/main/java/org/apache/nifi/processor/util/StandardValidators.java
+++ 
b/nifi-commons/nifi-utils/src/main/java/org/apache/nifi/processor/util/StandardValidators.java
@@ -30,7 +30,6 @@ import org.apache.nifi.util.FormatUtils;
 import java.io.File;
 import java.net.MalformedURLException;
 import java.net.URI;
-import java.net.URL;
 import java.nio.charset.Charset;
 import java.nio.charset.UnsupportedCharsetException;
 import java.text.NumberFormat;
@@ -548,7 +547,7 @@ public class StandardValidators {
 
                 try {
                     final String evaluatedInput = 
context.newPropertyValue(input).evaluateAttributeExpressions().getValue();
-                    new URL(evaluatedInput);
+                    URI.create(evaluatedInput).toURL();
                     return new 
ValidationResult.Builder().subject(subject).input(input).explanation("Valid 
URL").valid(true).build();
                 } catch (final Exception e) {
                     return new 
ValidationResult.Builder().subject(subject).input(input).explanation("Not a 
valid URL").valid(false).build();
@@ -577,8 +576,8 @@ public class StandardValidators {
 
                 // First check to see if it is a valid URL
                 try {
-                    new URL(evaluatedInput);
-                } catch (MalformedURLException mue) {
+                    URI.create(evaluatedInput).toURL();
+                } catch (IllegalArgumentException | MalformedURLException mue) 
{
                     validUrl = false;
                 }
 
diff --git 
a/nifi-commons/nifi-utils/src/main/java/org/apache/nifi/util/file/classloader/ClassLoaderUtils.java
 
b/nifi-commons/nifi-utils/src/main/java/org/apache/nifi/util/file/classloader/ClassLoaderUtils.java
index 487c9d39b6..cb0a8bd173 100644
--- 
a/nifi-commons/nifi-utils/src/main/java/org/apache/nifi/util/file/classloader/ClassLoaderUtils.java
+++ 
b/nifi-commons/nifi-utils/src/main/java/org/apache/nifi/util/file/classloader/ClassLoaderUtils.java
@@ -98,8 +98,8 @@ public class ClassLoaderUtils {
                 // If the path is already a URL, just add it (but don't check 
if it exists, too expensive and subject to network availability)
                 boolean isUrl = true;
                 try {
-                    additionalClasspath.add(new URL(modulePathString));
-                } catch (MalformedURLException mue) {
+                    
additionalClasspath.add(URI.create(modulePathString).toURL());
+                } catch (IllegalArgumentException | MalformedURLException e) {
                     isUrl = false;
                 }
                 if (!isUrl) {
diff --git 
a/nifi-commons/nifi-utils/src/test/java/org/apache/nifi/util/file/classloader/TestClassLoaderUtils.java
 
b/nifi-commons/nifi-utils/src/test/java/org/apache/nifi/util/file/classloader/TestClassLoaderUtils.java
index 2ba4796bdc..71e393ee8a 100644
--- 
a/nifi-commons/nifi-utils/src/test/java/org/apache/nifi/util/file/classloader/TestClassLoaderUtils.java
+++ 
b/nifi-commons/nifi-utils/src/test/java/org/apache/nifi/util/file/classloader/TestClassLoaderUtils.java
@@ -20,6 +20,7 @@ import org.junit.jupiter.api.Test;
 
 import java.io.FilenameFilter;
 import java.net.MalformedURLException;
+import java.net.URI;
 import java.net.URL;
 import java.nio.file.Paths;
 import java.util.HashSet;
@@ -124,7 +125,7 @@ public class TestClassLoaderUtils {
     @Test
     public void testGenerateAdditionalUrlsFingerprintForHttpUrl() throws 
MalformedURLException {
         final Set<URL> urls = new HashSet<>();
-        URL testUrl = new URL("http://myhost/TestSuccess.jar";);
+        URL testUrl = URI.create("http://myhost/TestSuccess.jar";).toURL();
         urls.add(testUrl);
         String testFingerprint = 
ClassLoaderUtils.generateAdditionalUrlsFingerprint(urls, null);
         assertNotNull(testFingerprint);
diff --git 
a/nifi-external/nifi-kafka-connect/nifi-kafka-connector/src/main/java/org/apache/nifi/kafka/connect/validators/ConnectHttpUrlValidator.java
 
b/nifi-external/nifi-kafka-connect/nifi-kafka-connector/src/main/java/org/apache/nifi/kafka/connect/validators/ConnectHttpUrlValidator.java
index 6cc4ed18fc..ea1a4a2893 100644
--- 
a/nifi-external/nifi-kafka-connect/nifi-kafka-connector/src/main/java/org/apache/nifi/kafka/connect/validators/ConnectHttpUrlValidator.java
+++ 
b/nifi-external/nifi-kafka-connect/nifi-kafka-connector/src/main/java/org/apache/nifi/kafka/connect/validators/ConnectHttpUrlValidator.java
@@ -20,7 +20,7 @@ package org.apache.nifi.kafka.connect.validators;
 import org.apache.kafka.common.config.ConfigDef;
 import org.apache.kafka.common.config.ConfigException;
 
-import java.net.URL;
+import java.net.URI;
 
 public class ConnectHttpUrlValidator implements ConfigDef.Validator {
     @Override
@@ -34,8 +34,7 @@ public class ConnectHttpUrlValidator implements 
ConfigDef.Validator {
         }
 
         try {
-            final URL url = new URL((String) value);
-            final String protocol = url.getProtocol();
+            final String protocol = URI.create((String) 
value).toURL().getProtocol();
             if (!protocol.equals("http") && !protocol.equals("https")) {
                 throw new ConfigException("Invalid value for property " + name 
+ ": The value must be an http or https URL");
             }
diff --git 
a/nifi-nar-bundles/nifi-atlas-bundle/nifi-atlas-reporting-task/src/main/java/org/apache/nifi/atlas/provenance/AbstractNiFiProvenanceEventAnalyzer.java
 
b/nifi-nar-bundles/nifi-atlas-bundle/nifi-atlas-reporting-task/src/main/java/org/apache/nifi/atlas/provenance/AbstractNiFiProvenanceEventAnalyzer.java
index 9269fdf714..47ad644a0f 100644
--- 
a/nifi-nar-bundles/nifi-atlas-bundle/nifi-atlas-reporting-task/src/main/java/org/apache/nifi/atlas/provenance/AbstractNiFiProvenanceEventAnalyzer.java
+++ 
b/nifi-nar-bundles/nifi-atlas-bundle/nifi-atlas-reporting-task/src/main/java/org/apache/nifi/atlas/provenance/AbstractNiFiProvenanceEventAnalyzer.java
@@ -48,8 +48,8 @@ public abstract class AbstractNiFiProvenanceEventAnalyzer 
implements NiFiProvena
      */
     protected URL parseUrl(String url) {
         try {
-            return new URL(url);
-        } catch (MalformedURLException e) {
+            return URI.create(url).toURL();
+        } catch (IllegalArgumentException | MalformedURLException e) {
             final String msg = String.format("Failed to parse url %s due to 
%s", url, e);
             throw new IllegalArgumentException(msg, e);
         }
diff --git 
a/nifi-nar-bundles/nifi-atlas-bundle/nifi-atlas-reporting-task/src/main/java/org/apache/nifi/atlas/reporting/ReportLineageToAtlas.java
 
b/nifi-nar-bundles/nifi-atlas-bundle/nifi-atlas-reporting-task/src/main/java/org/apache/nifi/atlas/reporting/ReportLineageToAtlas.java
index ca7ca366a7..d0359fa1e0 100644
--- 
a/nifi-nar-bundles/nifi-atlas-bundle/nifi-atlas-reporting-task/src/main/java/org/apache/nifi/atlas/reporting/ReportLineageToAtlas.java
+++ 
b/nifi-nar-bundles/nifi-atlas-bundle/nifi-atlas-reporting-task/src/main/java/org/apache/nifi/atlas/reporting/ReportLineageToAtlas.java
@@ -80,8 +80,7 @@ import java.io.FileOutputStream;
 import java.io.FileWriter;
 import java.io.IOException;
 import java.io.InputStream;
-import java.net.MalformedURLException;
-import java.net.URL;
+import java.net.URI;
 import java.nio.file.Files;
 import java.nio.file.Path;
 import java.time.Instant;
@@ -95,6 +94,7 @@ import java.util.HashSet;
 import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 import java.util.Properties;
 import java.util.ServiceLoader;
 import java.util.Set;
@@ -447,8 +447,7 @@ public class ReportLineageToAtlas extends 
AbstractReportingTask {
                 .map(String::trim)
                 .forEach(input -> {
                     try {
-                        final URL url = new URL(input);
-                        schemes.add(url.toURI().getScheme());
+                        
schemes.add(Objects.requireNonNull(URI.create(input).getScheme()));
                     } catch (Exception e) {
                         results.add(new 
ValidationResult.Builder().subject(ATLAS_URLS.getDisplayName()).input(input)
                                 .explanation("contains invalid URI: " + 
e).valid(false).build());
@@ -667,7 +666,7 @@ public class ReportLineageToAtlas extends 
AbstractReportingTask {
                 .map(String::trim)
                 .forEach(urlString -> {
                         try {
-                            new URL(urlString);
+                            URI.create(urlString).toURL();
                         } catch (Exception e) {
                             throw new ProcessException(e);
                         }
@@ -860,15 +859,8 @@ public class ReportLineageToAtlas extends 
AbstractReportingTask {
         final ProcessGroupStatus rootProcessGroup = 
context.getEventAccess().getGroupStatus("root");
         final String flowName = rootProcessGroup.getName();
         final String nifiUrl = 
context.getProperty(ATLAS_NIFI_URL).evaluateAttributeExpressions().getValue();
-
-
-        final String namespace;
-        try {
-            final String nifiHostName = new URL(nifiUrl).getHost();
-            namespace = namespaceResolvers.fromHostNames(nifiHostName);
-        } catch (MalformedURLException e) {
-            throw new IllegalArgumentException("Failed to parse NiFi URL, " + 
e.getMessage(), e);
-        }
+        final String nifiHostName = URI.create(nifiUrl).getHost();
+        final String namespace = 
namespaceResolvers.fromHostNames(nifiHostName);
 
         NiFiFlow existingNiFiFlow = null;
         try {
diff --git 
a/nifi-nar-bundles/nifi-atlas-bundle/nifi-atlas-reporting-task/src/test/java/org/apache/nifi/atlas/reporting/TestReportLineageToAtlas.java
 
b/nifi-nar-bundles/nifi-atlas-bundle/nifi-atlas-reporting-task/src/test/java/org/apache/nifi/atlas/reporting/TestReportLineageToAtlas.java
index 7044a2c949..e7f15c820c 100644
--- 
a/nifi-nar-bundles/nifi-atlas-bundle/nifi-atlas-reporting-task/src/test/java/org/apache/nifi/atlas/reporting/TestReportLineageToAtlas.java
+++ 
b/nifi-nar-bundles/nifi-atlas-bundle/nifi-atlas-reporting-task/src/test/java/org/apache/nifi/atlas/reporting/TestReportLineageToAtlas.java
@@ -53,7 +53,6 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.lang.reflect.Field;
 import java.lang.reflect.Method;
-import java.net.MalformedURLException;
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.Map;
@@ -195,8 +194,8 @@ public class TestReportLineageToAtlas {
         atlasConf.setProperty("atlas.rest.address", atlasUrls);
 
         Consumer<Exception> assertion = e -> assertTrue(
-            e.getCause() instanceof MalformedURLException,
-            "Expected " + MalformedURLException.class.getSimpleName() + " for 
" + atlasUrls + ", got " + e
+            e.getCause() instanceof IllegalArgumentException,
+            "Expected " + IllegalArgumentException.class.getSimpleName() + " 
for " + atlasUrls + ", got " + e
         );
 
         // WHEN
diff --git 
a/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-abstract-processors/src/main/java/org/apache/nifi/processors/aws/wag/AbstractAWSGatewayApiProcessor.java
 
b/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-abstract-processors/src/main/java/org/apache/nifi/processors/aws/wag/AbstractAWSGatewayApiProcessor.java
index 66068a863e..a7a23951a2 100644
--- 
a/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-abstract-processors/src/main/java/org/apache/nifi/processors/aws/wag/AbstractAWSGatewayApiProcessor.java
+++ 
b/nifi-nar-bundles/nifi-aws-bundle/nifi-aws-abstract-processors/src/main/java/org/apache/nifi/processors/aws/wag/AbstractAWSGatewayApiProcessor.java
@@ -31,7 +31,6 @@ import java.io.ByteArrayOutputStream;
 import java.io.InputStream;
 import java.net.MalformedURLException;
 import java.net.URI;
-import java.net.URL;
 import java.net.URLEncoder;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -336,7 +335,7 @@ public abstract class AbstractAWSGatewayApiProcessor extends
                     // but we may need to when validating
                     final String encodedInput = 
URLEncoder.encode(evaluatedInput, "UTF-8");
                     final String url = String.format("http://www.foo.com?%s";, 
encodedInput);
-                    new URL(url);
+                    URI.create(url).toURL();
                     results.add(new 
ValidationResult.Builder().subject(PROP_QUERY_PARAMS.getName())
                                                               .input(input)
                                                               
.explanation("Valid URL params")
diff --git 
a/nifi-nar-bundles/nifi-azure-bundle/nifi-azure-reporting-task/src/main/java/org/apache/nifi/reporting/azure/loganalytics/AzureLogAnalyticsProvenanceReportingTask.java
 
b/nifi-nar-bundles/nifi-azure-bundle/nifi-azure-reporting-task/src/main/java/org/apache/nifi/reporting/azure/loganalytics/AzureLogAnalyticsProvenanceReportingTask.java
index da8cfa988f..d71943540a 100644
--- 
a/nifi-nar-bundles/nifi-azure-bundle/nifi-azure-reporting-task/src/main/java/org/apache/nifi/reporting/azure/loganalytics/AzureLogAnalyticsProvenanceReportingTask.java
+++ 
b/nifi-nar-bundles/nifi-azure-bundle/nifi-azure-reporting-task/src/main/java/org/apache/nifi/reporting/azure/loganalytics/AzureLogAnalyticsProvenanceReportingTask.java
@@ -18,6 +18,7 @@ package org.apache.nifi.reporting.azure.loganalytics;
 
 import java.io.IOException;
 import java.net.MalformedURLException;
+import java.net.URI;
 import java.net.URL;
 import java.text.DateFormat;
 import java.text.MessageFormat;
@@ -45,7 +46,6 @@ import org.apache.nifi.annotation.documentation.Tags;
 import org.apache.nifi.annotation.lifecycle.OnUnscheduled;
 import org.apache.nifi.components.AllowableValue;
 import org.apache.nifi.components.PropertyDescriptor;
-import org.apache.nifi.controller.ConfigurationContext;
 import org.apache.nifi.controller.status.ProcessGroupStatus;
 import org.apache.nifi.expression.ExpressionLanguageScope;
 import org.apache.nifi.processor.util.StandardValidators;
@@ -169,8 +169,6 @@ public class AzureLogAnalyticsProvenanceReportingTask 
extends AbstractAzureLogAn
                         .description("Specifies how many records to send in a 
single batch, at most.").required(true)
                         
.defaultValue("1000").addValidator(StandardValidators.POSITIVE_INTEGER_VALIDATOR).build();
 
-        private ConfigurationContext context;
-
         private volatile ProvenanceEventConsumer consumer;
 
         @Override
@@ -300,8 +298,8 @@ public class AzureLogAnalyticsProvenanceReportingTask 
extends AbstractAzureLogAn
                 final String nifiUrl = 
context.getProperty(INSTANCE_URL).evaluateAttributeExpressions().getValue();
                 URL url;
                 try {
-                        url = new URL(nifiUrl);
-                } catch (final MalformedURLException e1) {
+                        url = URI.create(nifiUrl).toURL();
+                } catch (IllegalArgumentException | MalformedURLException e) {
                         throw new AssertionError();
                 }
 
diff --git 
a/nifi-nar-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-client-service/src/main/java/org/apache/nifi/elasticsearch/ElasticSearchClientServiceImpl.java
 
b/nifi-nar-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-client-service/src/main/java/org/apache/nifi/elasticsearch/ElasticSearchClientServiceImpl.java
index 33cf71862a..103cf7a920 100644
--- 
a/nifi-nar-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-client-service/src/main/java/org/apache/nifi/elasticsearch/ElasticSearchClientServiceImpl.java
+++ 
b/nifi-nar-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-client-service/src/main/java/org/apache/nifi/elasticsearch/ElasticSearchClientServiceImpl.java
@@ -70,6 +70,7 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.net.MalformedURLException;
 import java.net.Proxy;
+import java.net.URI;
 import java.net.URL;
 import java.nio.charset.Charset;
 import java.nio.charset.StandardCharsets;
@@ -419,7 +420,7 @@ public class ElasticSearchClientServiceImpl extends 
AbstractControllerService im
         this.url = hostsSplit.get(0);
         final List<HttpHost> hh = new ArrayList<>(hostsSplit.size());
         for (final String host : hostsSplit) {
-            final URL u = new URL(host);
+            final URL u = URI.create(host).toURL();
             hh.add(new HttpHost(u.getHost(), u.getPort(), u.getProtocol()));
         }
 
@@ -560,8 +561,8 @@ public class ElasticSearchClientServiceImpl extends 
AbstractControllerService im
         }
         sb.append("/").append(endpoint);
 
-        final HttpEntity queryEntity = new NStringEntity(query, 
ContentType.APPLICATION_JSON);
         try {
+            final HttpEntity queryEntity = new NStringEntity(query, 
ContentType.APPLICATION_JSON);
             return performRequest("POST", sb.toString(), requestParameters, 
queryEntity);
         } catch (final Exception e) {
             throw new ElasticsearchException(e);
diff --git 
a/nifi-nar-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-test-utils/src/main/java/org/apache/nifi/elasticsearch/integration/AbstractElasticsearchITBase.java
 
b/nifi-nar-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-test-utils/src/main/java/org/apache/nifi/elasticsearch/integration/AbstractElasticsearchITBase.java
index 9c77306d0c..a419fc334e 100644
--- 
a/nifi-nar-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-test-utils/src/main/java/org/apache/nifi/elasticsearch/integration/AbstractElasticsearchITBase.java
+++ 
b/nifi-nar-bundles/nifi-elasticsearch-bundle/nifi-elasticsearch-test-utils/src/main/java/org/apache/nifi/elasticsearch/integration/AbstractElasticsearchITBase.java
@@ -40,6 +40,7 @@ import org.testcontainers.utility.DockerImageName;
 import java.io.BufferedReader;
 import java.io.IOException;
 import java.io.InputStreamReader;
+import java.net.URI;
 import java.net.URL;
 import java.nio.file.Files;
 import java.nio.file.Paths;
@@ -134,7 +135,7 @@ public abstract class AbstractElasticsearchITBase {
 
     protected static void setupTestData() throws IOException {
         final int majorVersion = getElasticMajorVersion();
-        final URL url = new URL(elasticsearchHost);
+        final URL url = URI.create(elasticsearchHost).toURL();
         testDataManagementClient = RestClient
                 .builder(new HttpHost(url.getHost(), url.getPort(), 
url.getProtocol()))
                 .setHttpClientConfigCallback(httpClientBuilder -> {
diff --git 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-security/src/test/java/org/apache/nifi/web/security/oidc/web/authentication/OidcAuthenticationSuccessHandlerTest.java
 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-security/src/test/java/org/apache/nifi/web/security/oidc/web/authentication/OidcAuthenticationSuccessHandlerTest.java
index d2bba5c6f0..907c41c466 100644
--- 
a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-security/src/test/java/org/apache/nifi/web/security/oidc/web/authentication/OidcAuthenticationSuccessHandlerTest.java
+++ 
b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-security/src/test/java/org/apache/nifi/web/security/oidc/web/authentication/OidcAuthenticationSuccessHandlerTest.java
@@ -41,6 +41,7 @@ import 
org.springframework.security.oauth2.core.oidc.user.OidcUser;
 import javax.servlet.ServletContext;
 import javax.servlet.http.Cookie;
 import java.net.MalformedURLException;
+import java.net.URI;
 import java.net.URL;
 import java.time.Duration;
 import java.time.Instant;
@@ -204,8 +205,8 @@ class OidcAuthenticationSuccessHandlerTest {
 
     URL getIssuer() {
         try {
-            return new URL(ISSUER);
-        } catch (final MalformedURLException e) {
+            return URI.create(ISSUER).toURL();
+        } catch (IllegalArgumentException | MalformedURLException e) {
             throw new RuntimeException(e);
         }
     }
diff --git 
a/nifi-nar-bundles/nifi-prometheus-bundle/nifi-prometheus-reporting-task/src/test/java/org/apache/nifi/reporting/prometheus/PrometheusReportingTaskIT.java
 
b/nifi-nar-bundles/nifi-prometheus-bundle/nifi-prometheus-reporting-task/src/test/java/org/apache/nifi/reporting/prometheus/PrometheusReportingTaskIT.java
index 80cc934c5f..01a2086062 100644
--- 
a/nifi-nar-bundles/nifi-prometheus-bundle/nifi-prometheus-reporting-task/src/test/java/org/apache/nifi/reporting/prometheus/PrometheusReportingTaskIT.java
+++ 
b/nifi-nar-bundles/nifi-prometheus-bundle/nifi-prometheus-reporting-task/src/test/java/org/apache/nifi/reporting/prometheus/PrometheusReportingTaskIT.java
@@ -39,7 +39,7 @@ import org.junit.jupiter.api.Test;
 
 import java.io.IOException;
 import java.net.HttpURLConnection;
-import java.net.URL;
+import java.net.URI;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
@@ -158,8 +158,7 @@ public class PrometheusReportingTaskIT {
     }
 
     private String getMetrics() throws IOException {
-        URL url = new URL("http://localhost:9092/metrics";);
-        HttpURLConnection con = (HttpURLConnection) url.openConnection();
+        HttpURLConnection con = (HttpURLConnection) 
URI.create("http://localhost:9092/metrics";).toURL().openConnection();
         con.setRequestMethod("GET");
         int status = con.getResponseCode();
         assertEquals(HttpURLConnection.HTTP_OK, status);
diff --git 
a/nifi-nar-bundles/nifi-prometheus-bundle/nifi-prometheus-reporting-task/src/test/java/org/apache/nifi/reporting/prometheus/TestPrometheusRecordSink.java
 
b/nifi-nar-bundles/nifi-prometheus-bundle/nifi-prometheus-reporting-task/src/test/java/org/apache/nifi/reporting/prometheus/TestPrometheusRecordSink.java
index a1dca49749..d2ac994689 100644
--- 
a/nifi-nar-bundles/nifi-prometheus-bundle/nifi-prometheus-reporting-task/src/test/java/org/apache/nifi/reporting/prometheus/TestPrometheusRecordSink.java
+++ 
b/nifi-nar-bundles/nifi-prometheus-bundle/nifi-prometheus-reporting-task/src/test/java/org/apache/nifi/reporting/prometheus/TestPrometheusRecordSink.java
@@ -51,7 +51,7 @@ import org.junit.jupiter.api.Test;
 import java.io.IOException;
 import java.math.BigDecimal;
 import java.net.HttpURLConnection;
-import java.net.URL;
+import java.net.URI;
 import java.util.Arrays;
 import java.util.LinkedHashMap;
 import java.util.List;
@@ -124,8 +124,7 @@ public class TestPrometheusRecordSink {
     }
 
     private String getMetrics() throws IOException {
-        URL url = new URL("http://localhost:"; + portString + "/metrics");
-        HttpURLConnection con = (HttpURLConnection) url.openConnection();
+        HttpURLConnection con = (HttpURLConnection) 
URI.create("http://localhost:"; + portString + 
"/metrics").toURL().openConnection();
         con.setRequestMethod("GET");
         int status = con.getResponseCode();
         assertEquals(HttpURLConnection.HTTP_OK, status);
diff --git 
a/nifi-nar-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/main/java/org/apache/nifi/reporting/SiteToSiteProvenanceReportingTask.java
 
b/nifi-nar-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/main/java/org/apache/nifi/reporting/SiteToSiteProvenanceReportingTask.java
index d382ca3e2b..708cd067b8 100644
--- 
a/nifi-nar-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/main/java/org/apache/nifi/reporting/SiteToSiteProvenanceReportingTask.java
+++ 
b/nifi-nar-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/main/java/org/apache/nifi/reporting/SiteToSiteProvenanceReportingTask.java
@@ -20,6 +20,7 @@ package org.apache.nifi.reporting;
 import java.io.IOException;
 import java.io.InputStream;
 import java.net.MalformedURLException;
+import java.net.URI;
 import java.net.URL;
 import java.text.DateFormat;
 import java.text.SimpleDateFormat;
@@ -274,8 +275,8 @@ public class SiteToSiteProvenanceReportingTask extends 
AbstractSiteToSiteReporti
         final String nifiUrl = 
context.getProperty(SiteToSiteUtils.INSTANCE_URL).evaluateAttributeExpressions().getValue();
         URL url;
         try {
-            url = new URL(nifiUrl);
-        } catch (final MalformedURLException e1) {
+            url = URI.create(nifiUrl).toURL();
+        } catch (IllegalArgumentException | MalformedURLException e) {
             // already validated
             throw new AssertionError();
         }
diff --git 
a/nifi-nar-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/main/java/org/apache/nifi/reporting/SiteToSiteStatusReportingTask.java
 
b/nifi-nar-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/main/java/org/apache/nifi/reporting/SiteToSiteStatusReportingTask.java
index ab18c58886..6d23bad766 100644
--- 
a/nifi-nar-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/main/java/org/apache/nifi/reporting/SiteToSiteStatusReportingTask.java
+++ 
b/nifi-nar-bundles/nifi-site-to-site-reporting-bundle/nifi-site-to-site-reporting-task/src/main/java/org/apache/nifi/reporting/SiteToSiteStatusReportingTask.java
@@ -20,6 +20,7 @@ package org.apache.nifi.reporting;
 import java.io.IOException;
 import java.io.InputStream;
 import java.net.MalformedURLException;
+import java.net.URI;
 import java.net.URL;
 import java.text.DateFormat;
 import java.text.SimpleDateFormat;
@@ -132,8 +133,8 @@ public class SiteToSiteStatusReportingTask extends 
AbstractSiteToSiteReportingTa
         final String nifiUrl = 
context.getProperty(SiteToSiteUtils.INSTANCE_URL).evaluateAttributeExpressions().getValue();
         URL url;
         try {
-            url = new URL(nifiUrl);
-        } catch (final MalformedURLException e1) {
+            url = URI.create(nifiUrl).toURL();
+        } catch (IllegalArgumentException | MalformedURLException e) {
             // already validated
             throw new AssertionError();
         }
diff --git 
a/nifi-nar-bundles/nifi-slack-bundle/nifi-slack-processors/src/main/java/org/apache/nifi/processors/slack/PutSlack.java
 
b/nifi-nar-bundles/nifi-slack-bundle/nifi-slack-processors/src/main/java/org/apache/nifi/processors/slack/PutSlack.java
index 6951ad531d..d32a983e1f 100644
--- 
a/nifi-nar-bundles/nifi-slack-bundle/nifi-slack-processors/src/main/java/org/apache/nifi/processors/slack/PutSlack.java
+++ 
b/nifi-nar-bundles/nifi-slack-bundle/nifi-slack-processors/src/main/java/org/apache/nifi/processors/slack/PutSlack.java
@@ -47,6 +47,7 @@ import java.io.IOException;
 import java.io.StringReader;
 import java.io.StringWriter;
 import java.net.HttpURLConnection;
+import java.net.URI;
 import java.net.URL;
 import java.net.URLEncoder;
 import java.util.Arrays;
@@ -255,7 +256,7 @@ public class PutSlack extends AbstractProcessor {
             jsonWriter.writeObject(jsonObject);
             jsonWriter.close();
 
-            URL url = new 
URL(context.getProperty(WEBHOOK_URL).evaluateAttributeExpressions(flowFile).getValue());
+            URL url = 
URI.create(context.getProperty(WEBHOOK_URL).evaluateAttributeExpressions(flowFile).getValue()).toURL();
             HttpURLConnection conn = (HttpURLConnection) url.openConnection();
             conn.setRequestMethod("POST");
             conn.setDoOutput(true);
diff --git 
a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/InvokeHTTP.java
 
b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/InvokeHTTP.java
index 84ff2dec77..e0023fc821 100644
--- 
a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/InvokeHTTP.java
+++ 
b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/InvokeHTTP.java
@@ -27,6 +27,7 @@ import java.net.CookieManager;
 import java.net.CookiePolicy;
 import java.net.Proxy;
 import java.net.Proxy.Type;
+import java.net.URI;
 import java.net.URL;
 import java.nio.charset.Charset;
 import java.nio.charset.StandardCharsets;
@@ -938,7 +939,7 @@ public class InvokeHTTP extends AbstractProcessor {
         FlowFile responseFlowFile = null;
         try {
             final String urlProperty = 
trimToEmpty(context.getProperty(HTTP_URL).evaluateAttributeExpressions(requestFlowFile).getValue());
-            final URL url = new URL(urlProperty);
+            final URL url = URI.create(urlProperty).toURL();
 
             Request httpRequest = configureRequest(context, session, 
requestFlowFile, url);
             logRequest(logger, httpRequest);
diff --git 
a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/ITestHandleHttpRequest.java
 
b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/ITestHandleHttpRequest.java
index 188018bc19..e1360ab3db 100644
--- 
a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/ITestHandleHttpRequest.java
+++ 
b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/ITestHandleHttpRequest.java
@@ -56,7 +56,7 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.io.PrintWriter;
 import java.net.HttpURLConnection;
-import java.net.URL;
+import java.net.URI;
 import java.util.List;
 import java.util.Optional;
 import java.util.Random;
@@ -125,8 +125,8 @@ public class ITestHandleHttpRequest {
                 try {
                     serverReady.await();
                     final int port = ((HandleHttpRequest) 
runner.getProcessor()).getPort();
-                    final HttpURLConnection connection = (HttpURLConnection) 
new URL("http://localhost:";
-                            + port + 
"/my/path?query=true&value1=value1&value2=&value3&value4=apple=orange").openConnection();
+                    final HttpURLConnection connection = (HttpURLConnection) 
URI.create("http://localhost:";
+                            + port + 
"/my/path?query=true&value1=value1&value2=&value3&value4=apple=orange").toURL().openConnection();
 
                     connection.setDoOutput(false);
                     connection.setRequestMethod("GET");
@@ -470,8 +470,8 @@ public class ITestHandleHttpRequest {
                     serverReady.await();
 
                     final int port = ((HandleHttpRequest) 
runner.getProcessor()).getPort();
-                    connection = (HttpURLConnection) new 
URL("http://localhost:";
-                            + port + 
"/my/path?query=true&value1=value1&value2=&value3&value4=apple=orange").openConnection();
+                    connection = (HttpURLConnection) 
URI.create("http://localhost:";
+                            + port + 
"/my/path?query=true&value1=value1&value2=&value3&value4=apple=orange").toURL().openConnection();
                     connection.setDoOutput(false);
                     connection.setRequestMethod("GET");
                     connection.setRequestProperty("header1", "value1");
@@ -598,8 +598,8 @@ public class ITestHandleHttpRequest {
                     serverReady.await();
 
                     final int port = ((HandleHttpRequest) 
runner.getProcessor()).getPort();
-                    final HttpsURLConnection connection = (HttpsURLConnection) 
new URL("https://localhost:";
-                            + port + 
"/my/path?query=true&value1=value1&value2=&value3&value4=apple=orange").openConnection();
+                    final HttpsURLConnection connection = (HttpsURLConnection) 
URI.create("https://localhost:";
+                            + port + 
"/my/path?query=true&value1=value1&value2=&value3&value4=apple=orange").toURL().openConnection();
 
                     SSLContext clientSslContext;
                     if (twoWaySsl) {
diff --git 
a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/InvokeHTTPTest.java
 
b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/InvokeHTTPTest.java
index 224706b7f6..ef327d50eb 100644
--- 
a/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/InvokeHTTPTest.java
+++ 
b/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/test/java/org/apache/nifi/processors/standard/InvokeHTTPTest.java
@@ -48,6 +48,7 @@ import javax.net.ssl.SSLSocketFactory;
 import java.io.IOException;
 import java.net.MalformedURLException;
 import java.net.URI;
+import java.net.URISyntaxException;
 import java.net.URL;
 import java.nio.charset.StandardCharsets;
 import java.security.GeneralSecurityException;
@@ -267,7 +268,7 @@ public class InvokeHTTPTest {
         runner.assertPenalizeCount(1);
 
         final MockFlowFile flowFile = getFailureFlowFile();
-        flowFile.assertAttributeEquals(InvokeHTTP.EXCEPTION_CLASS, 
MalformedURLException.class.getName());
+        flowFile.assertAttributeEquals(InvokeHTTP.EXCEPTION_CLASS, 
IllegalArgumentException.class.getName());
         flowFile.assertAttributeExists(InvokeHTTP.EXCEPTION_MESSAGE);
     }
 
@@ -798,9 +799,8 @@ public class InvokeHTTPTest {
 
     @ParameterizedTest(name = "{index} => When {0} http://baseUrl/{1}, 
filename of the response FlowFile should be {2}")
     @MethodSource
-    public void testResponseFlowFileFilenameExtractedFromRemoteUrl(String 
httpMethod, String inputUrl, String expectedFileName) throws 
MalformedURLException {
-        URL baseUrl = new URL(getMockWebServerUrl());
-        URL targetUrl = new URL(baseUrl, inputUrl);
+    public void testResponseFlowFileFilenameExtractedFromRemoteUrl(String 
httpMethod, String relativePath, String expectedFileName) throws 
MalformedURLException, URISyntaxException {
+        URL targetUrl = new URI("http", null, mockWebServer.getHostName(), 
mockWebServer.getPort(), String.format("/%s", relativePath), null, 
null).toURL();
 
         runner.setProperty(InvokeHTTP.HTTP_METHOD, httpMethod);
         runner.setProperty(InvokeHTTP.HTTP_URL, targetUrl.toString());
@@ -824,8 +824,7 @@ public class InvokeHTTPTest {
             Arguments.of(HttpMethod.GET.name(), "file/", "file"),
             Arguments.of(HttpMethod.GET.name(), "file.txt", "file.txt"),
             Arguments.of(HttpMethod.GET.name(), "file.txt/", "file.txt"),
-            Arguments.of(HttpMethod.GET.name(), "file.txt/?qp=v", "file.txt"),
-            Arguments.of(HttpMethod.GET.name(), "f%69%6Cle.txt", 
"f%69%6Cle.txt"),
+            Arguments.of(HttpMethod.GET.name(), "f%69%6Cle.txt", 
"f%2569%256Cle.txt"),
             Arguments.of(HttpMethod.GET.name(), "path/to/file.txt", 
"file.txt"),
             Arguments.of(HttpMethod.GET.name(), "", 
FLOW_FILE_INITIAL_FILENAME),
             Arguments.of(HttpMethod.POST.name(), "has/path", 
FLOW_FILE_INITIAL_FILENAME),
diff --git 
a/nifi-registry/nifi-registry-core/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/util/ClassLoaderUtils.java
 
b/nifi-registry/nifi-registry-core/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/util/ClassLoaderUtils.java
index 1f05cd3bb6..96e40b331f 100644
--- 
a/nifi-registry/nifi-registry-core/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/util/ClassLoaderUtils.java
+++ 
b/nifi-registry/nifi-registry-core/nifi-registry-framework/src/main/java/org/apache/nifi/registry/security/util/ClassLoaderUtils.java
@@ -22,6 +22,7 @@ import org.slf4j.LoggerFactory;
 import java.io.File;
 import java.io.FilenameFilter;
 import java.net.MalformedURLException;
+import java.net.URI;
 import java.net.URL;
 import java.net.URLClassLoader;
 import java.util.Arrays;
@@ -92,8 +93,8 @@ public class ClassLoaderUtils {
                 // If the path is already a URL, just add it (but don't check 
if it exists, too expensive and subject to network availability)
                 boolean isUrl = true;
                 try {
-                    additionalClasspath.add(new URL(modulePathString));
-                } catch (MalformedURLException mue) {
+                    
additionalClasspath.add(URI.create(modulePathString).toURL());
+                } catch (IllegalArgumentException | MalformedURLException mue) 
{
                     isUrl = false;
                 }
                 if (!isUrl) {
diff --git 
a/nifi-registry/nifi-registry-core/nifi-registry-web-api/src/main/java/org/apache/nifi/registry/web/security/authentication/oidc/StandardOidcIdentityProvider.java
 
b/nifi-registry/nifi-registry-core/nifi-registry-web-api/src/main/java/org/apache/nifi/registry/web/security/authentication/oidc/StandardOidcIdentityProvider.java
index 77b1b3c075..e70f696604 100644
--- 
a/nifi-registry/nifi-registry-core/nifi-registry-web-api/src/main/java/org/apache/nifi/registry/web/security/authentication/oidc/StandardOidcIdentityProvider.java
+++ 
b/nifi-registry/nifi-registry-core/nifi-registry-web-api/src/main/java/org/apache/nifi/registry/web/security/authentication/oidc/StandardOidcIdentityProvider.java
@@ -244,7 +244,7 @@ public class StandardOidcIdentityProvider implements 
OidcIdentityProvider {
      * @throws ParseException if there is a problem parsing the response
      */
     private OIDCProviderMetadata retrieveOidcProviderMetadata(final String 
discoveryUri) throws IOException, ParseException {
-        final URL url = new URL(discoveryUri);
+        final URL url = URI.create(discoveryUri).toURL();
         final HTTPRequest httpRequest = new 
HTTPRequest(HTTPRequest.Method.GET, url);
         httpRequest.setConnectTimeout(oidcConnectTimeout);
         httpRequest.setReadTimeout(oidcReadTimeout);
diff --git 
a/nifi-system-tests/nifi-system-test-extensions-bundle/nifi-system-test-extensions/src/main/java/org/apache/nifi/flow/registry/FileSystemFlowRegistryClient.java
 
b/nifi-system-tests/nifi-system-test-extensions-bundle/nifi-system-test-extensions/src/main/java/org/apache/nifi/flow/registry/FileSystemFlowRegistryClient.java
index 8bf24b6b59..5636424b29 100644
--- 
a/nifi-system-tests/nifi-system-test-extensions-bundle/nifi-system-test-extensions/src/main/java/org/apache/nifi/flow/registry/FileSystemFlowRegistryClient.java
+++ 
b/nifi-system-tests/nifi-system-test-extensions-bundle/nifi-system-test-extensions/src/main/java/org/apache/nifi/flow/registry/FileSystemFlowRegistryClient.java
@@ -38,7 +38,7 @@ import org.apache.nifi.util.file.FileUtils;
 
 import java.io.File;
 import java.io.IOException;
-import java.net.URL;
+import java.net.URI;
 import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.Paths;
@@ -77,8 +77,7 @@ public class FileSystemFlowRegistryClient extends 
AbstractFlowRegistryClient {
     @Override
     public boolean isStorageLocationApplicable(final 
FlowRegistryClientConfigurationContext context, final String storageLocation) {
         try {
-            final URL url = new URL(storageLocation);
-            final File file = new java.io.File(url.toURI());
+            final File file = new java.io.File(URI.create(storageLocation));
             final Path path = file.toPath();
 
             final String configuredDirectory = 
context.getProperty(DIRECTORY).getValue();
diff --git 
a/nifi-toolkit/nifi-toolkit-cli/src/main/java/org/apache/nifi/toolkit/cli/impl/command/AbstractCommand.java
 
b/nifi-toolkit/nifi-toolkit-cli/src/main/java/org/apache/nifi/toolkit/cli/impl/command/AbstractCommand.java
index b699918c09..e9bdc32697 100644
--- 
a/nifi-toolkit/nifi-toolkit-cli/src/main/java/org/apache/nifi/toolkit/cli/impl/command/AbstractCommand.java
+++ 
b/nifi-toolkit/nifi-toolkit-cli/src/main/java/org/apache/nifi/toolkit/cli/impl/command/AbstractCommand.java
@@ -32,7 +32,6 @@ import java.io.PrintStream;
 import java.io.PrintWriter;
 import java.net.MalformedURLException;
 import java.net.URI;
-import java.net.URL;
 import java.nio.charset.StandardCharsets;
 import java.nio.file.Paths;
 import java.util.Objects;
@@ -242,9 +241,8 @@ public abstract class AbstractCommand<R extends Result> 
implements Command<R> {
         String contents;
         try {
             // try a public resource URL
-            URL url = new URL(inputFile);
-            contents = IOUtils.toString(url, StandardCharsets.UTF_8);
-        } catch (MalformedURLException e) {
+            contents = IOUtils.toString(URI.create(inputFile).toURL(), 
StandardCharsets.UTF_8);
+        } catch (IllegalArgumentException | MalformedURLException e) {
             // assume a local file then
             URI uri = Paths.get(inputFile).toAbsolutePath().toUri();
             contents = IOUtils.toString(uri, StandardCharsets.UTF_8);

Reply via email to