Skip to content

Commit 5e86c59

Browse files
alai8rjeberhard
authored andcommitted
fix NPE in WlsClusterConfig.getServerConfigs() when dynamicServerConfigs.getServerConfigs() returns null
1 parent b4aa8ed commit 5e86c59

File tree

2 files changed

+11
-3
lines changed

2 files changed

+11
-3
lines changed

operator/src/main/java/oracle/kubernetes/operator/wlsconfig/WlsClusterConfig.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import java.util.Comparator;
88
import java.util.List;
99
import java.util.Map;
10+
import java.util.Optional;
1011
import javax.annotation.Nonnull;
1112

1213
import oracle.kubernetes.utils.OperatorUtils;
@@ -226,9 +227,8 @@ public void setWlsDomainConfig(WlsDomainConfig wlsDomainConfig) {
226227
public synchronized List<WlsServerConfig> getServerConfigs() {
227228
int dcsize = dynamicServersConfig == null ? 0 : dynamicServersConfig.getDynamicClusterSize();
228229
List<WlsServerConfig> result = new ArrayList<>(dcsize + servers.size());
229-
if (dynamicServersConfig != null) {
230-
result.addAll(dynamicServersConfig.getServerConfigs());
231-
}
230+
Optional.ofNullable(dynamicServersConfig).map(WlsDynamicServersConfig::getServerConfigs)
231+
.ifPresent(dynamicServers -> dynamicServers.forEach(item -> result.add(item)));
232232
result.addAll(servers);
233233
result.sort(Comparator.comparing((WlsServerConfig sc) -> OperatorUtils.getSortingString(sc.getName())));
234234
return result;

operator/src/test/java/oracle/kubernetes/operator/wlsconfig/WlsClusterConfigTest.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,14 @@ void verifyGetServerConfigsReturnListOfAllServerConfigs() {
195195
assertTrue(containsServer(wlsClusterConfig, "ms-1"));
196196
}
197197

198+
@Test
199+
void verifyGetServerConfigsReturnEmptyServerListForDynamicServersWithClusterSizeOf0() {
200+
WlsClusterConfig wlsClusterConfig =
201+
new WlsClusterConfig("cluster1", createDynamicServersConfig(0, 0, 0, "ms-", "cluster1"));
202+
203+
assertTrue(wlsClusterConfig.getServerConfigs().isEmpty());
204+
}
205+
198206
@Test
199207
void verifyGetServerConfigsReturnListOfAllServerConfigsWithDynamicServers() {
200208
WlsClusterConfig wlsClusterConfig =

0 commit comments

Comments
 (0)