Skip to content

Commit 6991ac6

Browse files
shwstpprdhslove
authored andcommitted
refactor: add null check for BroadcastDomainType retrievals (apache#11572)
Signed-off-by: Abhishek Kumar <abhishek.mrt22@gmail.com>
1 parent 8c5229c commit 6991ac6

File tree

2 files changed

+24
-6
lines changed

2 files changed

+24
-6
lines changed

api/src/main/java/com/cloud/network/Networks.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ public <T> URI toUri(T value) {
7878
}
7979
@Override
8080
public String getValueFrom(URI uri) {
81-
return uri.getAuthority();
81+
return uri == null ? null : uri.getAuthority();
8282
}
8383
},
8484
Vswitch("vs", String.class), LinkLocal(null, null), Vnet("vnet", Long.class), Storage("storage", Integer.class), Lswitch("lswitch", String.class) {
@@ -96,7 +96,7 @@ public <T> URI toUri(T value) {
9696
*/
9797
@Override
9898
public String getValueFrom(URI uri) {
99-
return uri.getSchemeSpecificPart();
99+
return uri == null ? null : uri.getSchemeSpecificPart();
100100
}
101101
},
102102
Mido("mido", String.class), Pvlan("pvlan", String.class),
@@ -177,7 +177,7 @@ public <T> URI toUri(T value) {
177177
* @return the scheme as BroadcastDomainType
178178
*/
179179
public static BroadcastDomainType getSchemeValue(URI uri) {
180-
return toEnumValue(uri.getScheme());
180+
return toEnumValue(uri == null ? null : uri.getScheme());
181181
}
182182

183183
/**
@@ -191,7 +191,7 @@ public static BroadcastDomainType getTypeOf(String str) throws URISyntaxExceptio
191191
if (com.cloud.dc.Vlan.UNTAGGED.equalsIgnoreCase(str)) {
192192
return Native;
193193
}
194-
return getSchemeValue(new URI(str));
194+
return getSchemeValue(str == null ? null : new URI(str));
195195
}
196196

197197
/**
@@ -220,7 +220,7 @@ public static BroadcastDomainType toEnumValue(String scheme) {
220220
* @return the host part as String
221221
*/
222222
public String getValueFrom(URI uri) {
223-
return uri.getHost();
223+
return uri == null ? null : uri.getHost();
224224
}
225225

226226
/**
@@ -243,7 +243,7 @@ public static String getValue(URI uri) {
243243
* @throws URISyntaxException the string is not even an uri
244244
*/
245245
public static String getValue(String uriString) throws URISyntaxException {
246-
return getValue(new URI(uriString));
246+
return getValue(uriString == null ? null : new URI(uriString));
247247
}
248248

249249
/**

api/src/test/java/com/cloud/network/NetworksTest.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,24 @@ public class NetworksTest {
3737
public void setUp() {
3838
}
3939

40+
@Test
41+
public void nullBroadcastDomainTypeTest() throws URISyntaxException {
42+
BroadcastDomainType type = BroadcastDomainType.getTypeOf(null);
43+
Assert.assertEquals("a null uri should mean a broadcasttype of undecided", BroadcastDomainType.UnDecided, type);
44+
}
45+
46+
@Test
47+
public void nullBroadcastDomainTypeValueTest() {
48+
URI uri = null;
49+
Assert.assertNull(BroadcastDomainType.getValue(uri));
50+
}
51+
52+
@Test
53+
public void nullBroadcastDomainTypeStringValueTest() throws URISyntaxException {
54+
String uriString = null;
55+
Assert.assertNull(BroadcastDomainType.getValue(uriString));
56+
}
57+
4058
@Test
4159
public void emptyBroadcastDomainTypeTest() throws URISyntaxException {
4260
BroadcastDomainType type = BroadcastDomainType.getTypeOf("");

0 commit comments

Comments
 (0)