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

dahn pushed a commit to branch 4.20
in repository https://gitbox.apache.org/repos/asf/cloudstack.git


The following commit(s) were added to refs/heads/4.20 by this push:
     new 243f566a603 refactor: add null check for BroadcastDomainType 
retrievals (#11572)
243f566a603 is described below

commit 243f566a603a6215505342d93d45a67d5386251e
Author: Abhishek Kumar <[email protected]>
AuthorDate: Mon Dec 1 08:19:09 2025 +0100

    refactor: add null check for BroadcastDomainType retrievals (#11572)
    
    Signed-off-by: Abhishek Kumar <[email protected]>
---
 api/src/main/java/com/cloud/network/Networks.java     | 12 ++++++------
 api/src/test/java/com/cloud/network/NetworksTest.java | 18 ++++++++++++++++++
 2 files changed, 24 insertions(+), 6 deletions(-)

diff --git a/api/src/main/java/com/cloud/network/Networks.java 
b/api/src/main/java/com/cloud/network/Networks.java
index dfa0ddb84ca..8e7399bb21d 100644
--- a/api/src/main/java/com/cloud/network/Networks.java
+++ b/api/src/main/java/com/cloud/network/Networks.java
@@ -78,7 +78,7 @@ public class Networks {
             }
             @Override
             public String getValueFrom(URI uri) {
-                return uri.getAuthority();
+                return uri == null ? null : uri.getAuthority();
             }
         },
         Vswitch("vs", String.class), LinkLocal(null, null), Vnet("vnet", 
Long.class), Storage("storage", Integer.class), Lswitch("lswitch", 
String.class) {
@@ -96,7 +96,7 @@ public class Networks {
              */
             @Override
             public String getValueFrom(URI uri) {
-                return uri.getSchemeSpecificPart();
+                return uri == null ? null : uri.getSchemeSpecificPart();
             }
         },
         Mido("mido", String.class), Pvlan("pvlan", String.class),
@@ -176,7 +176,7 @@ public class Networks {
          * @return the scheme as BroadcastDomainType
          */
         public static BroadcastDomainType getSchemeValue(URI uri) {
-            return toEnumValue(uri.getScheme());
+            return toEnumValue(uri == null ? null : uri.getScheme());
         }
 
         /**
@@ -190,7 +190,7 @@ public class Networks {
             if (com.cloud.dc.Vlan.UNTAGGED.equalsIgnoreCase(str)) {
                 return Native;
             }
-            return getSchemeValue(new URI(str));
+            return getSchemeValue(str == null ? null : new URI(str));
         }
 
         /**
@@ -219,7 +219,7 @@ public class Networks {
          * @return the host part as String
          */
         public String getValueFrom(URI uri) {
-            return uri.getHost();
+            return uri == null ? null : uri.getHost();
         }
 
         /**
@@ -242,7 +242,7 @@ public class Networks {
          * @throws URISyntaxException the string is not even an uri
          */
         public static String getValue(String uriString) throws 
URISyntaxException {
-            return getValue(new URI(uriString));
+            return getValue(uriString == null ? null : new URI(uriString));
         }
 
         /**
diff --git a/api/src/test/java/com/cloud/network/NetworksTest.java 
b/api/src/test/java/com/cloud/network/NetworksTest.java
index ef582924342..6f0f3fbd1ef 100644
--- a/api/src/test/java/com/cloud/network/NetworksTest.java
+++ b/api/src/test/java/com/cloud/network/NetworksTest.java
@@ -37,6 +37,24 @@ public class NetworksTest {
     public void setUp() {
     }
 
+    @Test
+    public void nullBroadcastDomainTypeTest() throws URISyntaxException {
+        BroadcastDomainType type = BroadcastDomainType.getTypeOf(null);
+        Assert.assertEquals("a null uri should mean a broadcasttype of 
undecided", BroadcastDomainType.UnDecided, type);
+    }
+
+    @Test
+    public void nullBroadcastDomainTypeValueTest() {
+        URI uri = null;
+        Assert.assertNull(BroadcastDomainType.getValue(uri));
+    }
+
+    @Test
+    public void nullBroadcastDomainTypeStringValueTest() throws 
URISyntaxException {
+        String uriString = null;
+        Assert.assertNull(BroadcastDomainType.getValue(uriString));
+    }
+
     @Test
     public void emptyBroadcastDomainTypeTest() throws URISyntaxException {
         BroadcastDomainType type = BroadcastDomainType.getTypeOf("");

Reply via email to