Do not use deprecate URL constructor 02/115602/1
authorRobert Varga <robert.varga@pantheon.tech>
Mon, 24 Feb 2025 16:46:00 +0000 (17:46 +0100)
committerRobert Varga <robert.varga@pantheon.tech>
Mon, 24 Feb 2025 17:17:27 +0000 (18:17 +0100)
Migrate to going through URI.toURL().

Change-Id: I7d0afbd24f9e48639cc7ef70212b764ce36b3045
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
plugins/netconf-client-mdsal/src/main/java/org/opendaylight/netconf/client/mdsal/LibraryModulesSchemas.java

index 3221e572acff5eb22efc38ffadfb431213390d88..59bef2315e73cbb84e98230d0b7b4e792768c6ea 100644 (file)
@@ -27,6 +27,8 @@ import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.net.HttpURLConnection;
 import java.net.MalformedURLException;
+import java.net.URI;
+import java.net.URISyntaxException;
 import java.net.URL;
 import java.net.URLConnection;
 import java.nio.charset.Charset;
@@ -193,9 +195,7 @@ public final class LibraryModulesSchemas {
      */
     public static LibraryModulesSchemas create(final String url, final String username, final String password) {
         try {
-            final URL urlConnection = new URL(requireNonNull(url));
-            final URLConnection connection = urlConnection.openConnection();
-
+            final var connection = new URI(requireNonNull(url)).toURL().openConnection();
             if (connection instanceof HttpURLConnection) {
                 connection.setRequestProperty("Accept", "application/xml");
                 final String userpass = username + ":" + password;
@@ -205,7 +205,7 @@ public final class LibraryModulesSchemas {
 
             return createFromURLConnection(connection);
 
-        } catch (final IOException e) {
+        } catch (IllegalArgumentException | IOException | URISyntaxException e) {
             LOG.warn("Unable to download yang library from {}", url, e);
             return new LibraryModulesSchemas(ImmutableMap.of());
         }
@@ -238,8 +238,8 @@ public final class LibraryModulesSchemas {
     public static LibraryModulesSchemas create(final String url) {
         final URLConnection connection;
         try {
-            connection = new URL(requireNonNull(url)).openConnection();
-        } catch (final IOException e) {
+            connection = new URI(requireNonNull(url)).toURL().openConnection();
+        } catch (IllegalArgumentException | IOException | URISyntaxException e) {
             LOG.warn("Unable to download yang library from {}", url, e);
             return new LibraryModulesSchemas(ImmutableMap.of());
         }
@@ -362,8 +362,8 @@ public final class LibraryModulesSchemas {
                 : QName.create(XMLNamespace.of(moduleNameSpace), moduleName);
 
         try {
-            return Map.entry(moduleQName, new URL(schemaUriAsString.orElseThrow()));
-        } catch (final MalformedURLException e) {
+            return Map.entry(moduleQName, new URI(schemaUriAsString.orElseThrow()).toURL());
+        } catch (IllegalArgumentException | MalformedURLException | URISyntaxException e) {
             LOG.warn("Skipping library schema for {}. URL {} representing yang schema resource is not valid",
                     moduleNode, schemaUriAsString.orElseThrow());
             return null;