HIGUCHI Yuta
Committed by Jonathan Hart

Fix ConcurrentModificationException in SnmpDeviceProviderTest

FAILURE org.onosproject.provider.snmp.device.impl.SnmpDeviceProviderTest testDeactivate:
java.util.ConcurrentModificationException
	at java.util.HashMap$ValueSpliterator.forEachRemaining(HashMap.java:1625)
	at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:580)
	at org.onosproject.provider.snmp.device.impl.SnmpDeviceProvider.deactivate(SnmpDeviceProvider.java:140)
	at org.onosproject.provider.snmp.device.impl.SnmpDeviceProviderTest.testDeactivate(SnmpDeviceProviderTest.java:111)

Change-Id: Ie72ee2da15377d5eaa91a056c36035b38c014ae2
...@@ -24,14 +24,15 @@ import org.onosproject.snmp.SnmpDevice; ...@@ -24,14 +24,15 @@ import org.onosproject.snmp.SnmpDevice;
24 24
25 import java.io.IOException; 25 import java.io.IOException;
26 import java.util.Collection; 26 import java.util.Collection;
27 -import java.util.HashMap; 27 +import java.util.Map;
28 +import java.util.concurrent.ConcurrentHashMap;
28 29
29 /** 30 /**
30 * Test Adapter for SnmpController API. 31 * Test Adapter for SnmpController API.
31 */ 32 */
32 public class SnmpControllerAdapter implements SnmpController { 33 public class SnmpControllerAdapter implements SnmpController {
33 34
34 - protected HashMap<DeviceId, SnmpDevice> devices = new HashMap<>(); 35 + protected Map<DeviceId, SnmpDevice> devices = new ConcurrentHashMap<>();
35 @Override 36 @Override
36 public Collection<SnmpDevice> getDevices() { 37 public Collection<SnmpDevice> getDevices() {
37 return devices.values(); 38 return devices.values();
......