[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());