This is an automated email from the ASF dual-hosted git repository.
exceptionfactory pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi.git
The following commit(s) were added to refs/heads/main by this push:
new 2aca08910c NIFI-12103 Replaced deprecated usage of new URL(String)
2aca08910c is described below
commit 2aca08910c4e06fff2c98d3794d9b5a3cd427988
Author: Pierre Villard <[email protected]>
AuthorDate: Thu Sep 21 20:05:00 2023 +0200
NIFI-12103 Replaced deprecated usage of new URL(String)
This closes #7771
Signed-off-by: David Handermann <[email protected]>
---
.../c2/integration/test/AbstractTestSecure.java | 4 ++--
.../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, 98 insertions(+), 95 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 587e418553..db6635f39f 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
@@ -28,7 +28,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;
@@ -195,7 +195,7 @@ 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(
+ 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 fd174c9344..6710dec777 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 com.palantir.docker.compose.connection.DockerPort;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
-import java.net.URL;
+import java.net.URI;
import org.apache.commons.io.IOUtils;
import org.apache.nifi.controller.flow.VersionedDataflow;
import org.junit.jupiter.api.Test;
@@ -99,7 +99,7 @@ public abstract class AbstractTestUnsecure {
}
protected HttpURLConnection openSuperUserUrlConnection(String url) throws
IOException {
- return (HttpURLConnection) new URL(url).openConnection();
+ return (HttpURLConnection) URI.create(url).toURL().openConnection();
}
protected VersionedDataflow toVersionedDataFlow(InputStream inputStream)
throws IOException {
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 61ae957d46..2c0129f19f 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;
@@ -397,7 +398,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()));
}
@@ -538,8 +539,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 384f009f82..454858905d 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;
@@ -836,7 +837,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 ea12e662a6..c5675609a7 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
@@ -51,6 +51,7 @@ import java.io.IOException;
import java.net.MalformedURLException;
import java.net.Proxy;
import java.net.URI;
+import java.net.URISyntaxException;
import java.net.URL;
import java.nio.charset.StandardCharsets;
import java.security.GeneralSecurityException;
@@ -245,7 +246,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);
}
@@ -763,9 +764,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());
@@ -789,8 +789,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);