[ONOS-6236] Adding retry mechanism when NETCONF device sends socket closed signal
Change-Id: Ie48e94f92ce745f3f65a352d80b7a74c2eceba04
diff --git a/providers/netconf/device/src/main/java/org/onosproject/provider/netconf/device/impl/NetconfDeviceProvider.java b/providers/netconf/device/src/main/java/org/onosproject/provider/netconf/device/impl/NetconfDeviceProvider.java
index 55d6f0c..215f104 100644
--- a/providers/netconf/device/src/main/java/org/onosproject/provider/netconf/device/impl/NetconfDeviceProvider.java
+++ b/providers/netconf/device/src/main/java/org/onosproject/provider/netconf/device/impl/NetconfDeviceProvider.java
@@ -53,6 +53,7 @@
import org.onosproject.net.device.DeviceProviderRegistry;
import org.onosproject.net.device.DeviceProviderService;
import org.onosproject.net.device.DeviceService;
+import org.onosproject.net.device.PortStatistics;
import org.onosproject.net.device.PortStatisticsDiscovery;
import org.onosproject.net.key.DeviceKey;
import org.onosproject.net.key.DeviceKeyAdminService;
@@ -70,6 +71,7 @@
import java.net.URI;
import java.net.URISyntaxException;
import java.util.Arrays;
+import java.util.Collection;
import java.util.Dictionary;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
@@ -116,7 +118,6 @@
protected ComponentConfigService componentConfigService;
-
protected static final String APP_NAME = "org.onosproject.netconf";
private static final String SCHEME_NAME = "netconf";
private static final String DEVICE_PROVIDER_PACKAGE = "org.onosproject.netconf.provider.device";
@@ -427,8 +428,11 @@
private void updatePortStatistics(Device device) {
if (device.is(PortStatisticsDiscovery.class)) {
PortStatisticsDiscovery d = device.as(PortStatisticsDiscovery.class);
- providerService.updatePortStatistics(device.id(),
- d.discoverPortStatistics());
+ Collection<PortStatistics> portStatistics = d.discoverPortStatistics();
+ if (portStatistics != null) {
+ providerService.updatePortStatistics(device.id(),
+ portStatistics);
+ }
} else {
log.warn("No port statistics getter behaviour for device {}",
device.id());