Fixed UnsupportedOperationException in DeviceManager
Change-Id: Iaebbce0d86fce0d01899740d1708a4a573b78206
diff --git a/core/net/src/main/java/org/onosproject/net/device/impl/DeviceManager.java b/core/net/src/main/java/org/onosproject/net/device/impl/DeviceManager.java
index 94b3cd5..414db4a 100644
--- a/core/net/src/main/java/org/onosproject/net/device/impl/DeviceManager.java
+++ b/core/net/src/main/java/org/onosproject/net/device/impl/DeviceManager.java
@@ -16,6 +16,7 @@
package org.onosproject.net.device.impl;
import com.google.common.collect.ImmutableList;
+import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import com.google.common.collect.Multimap;
import com.google.common.util.concurrent.Futures;
@@ -672,7 +673,9 @@
}
PortDescriptionsConfig portConfig = networkConfigService.getConfig(deviceId, PortDescriptionsConfig.class);
if (portConfig != null) {
- //updating the ports if configration exists
+ // Updating the ports if configuration exists (on new lists as
+ // the passed one might be immutable)
+ portDescriptions = Lists.newArrayList(portDescriptions);
portDescriptions.addAll(portConfig.portDescriptions());
}
portDescriptions = portDescriptions.stream()