[ONOS-6244]port statistics defect fix

Change-Id: Ib4dda6da1fc3c345fe69fb565abde55ec731cd32
diff --git a/drivers/huawei/driver/src/main/java/org/onosproject/drivers/huawei/DriverUtil.java b/drivers/huawei/driver/src/main/java/org/onosproject/drivers/huawei/DriverUtil.java
index af997c4..cc5dc70 100644
--- a/drivers/huawei/driver/src/main/java/org/onosproject/drivers/huawei/DriverUtil.java
+++ b/drivers/huawei/driver/src/main/java/org/onosproject/drivers/huawei/DriverUtil.java
@@ -114,9 +114,10 @@
     /**
      * RPC interfaces message.
      */
-    static final String RPC_IFS =
-            "<interfaces><interface><ifPhyType>Ethernet</ifPhyType" +
-                    "></interface></interfaces>";
+    static final String RPC_IFS = "<interfaces><interface><ifPhyType>Ethernet" +
+            "</ifPhyType><ifName></ifName><ifNumber></ifNumber>" +
+            "<ifDynamicInfo></ifDynamicInfo><ifStatistics></ifStatistics>" +
+            "</interface></interfaces>";
 
     /**
      * RPC ifm message.
diff --git a/drivers/huawei/driver/src/main/java/org/onosproject/drivers/huawei/HuaweiDeviceDescription.java b/drivers/huawei/driver/src/main/java/org/onosproject/drivers/huawei/HuaweiDeviceDescription.java
index bcb7f4c..7c0a478 100644
--- a/drivers/huawei/driver/src/main/java/org/onosproject/drivers/huawei/HuaweiDeviceDescription.java
+++ b/drivers/huawei/driver/src/main/java/org/onosproject/drivers/huawei/HuaweiDeviceDescription.java
@@ -17,6 +17,7 @@
 package org.onosproject.drivers.huawei;
 
 import com.google.common.collect.ImmutableList;
+import org.apache.commons.lang.StringUtils;
 import org.onosproject.net.Device;
 import org.onosproject.net.DeviceId;
 import org.onosproject.net.device.DefaultDeviceDescription;
@@ -37,7 +38,6 @@
 
 import static com.google.common.base.Preconditions.checkNotNull;
 import static org.onosproject.drivers.huawei.DriverUtil.DEV_INFO_FAILURE;
-import static org.onosproject.drivers.huawei.DriverUtil.INT_INFO_FAILURE;
 import static org.onosproject.drivers.huawei.DriverUtil.RPC_CLOSE;
 import static org.onosproject.drivers.huawei.DriverUtil.RPC_CLOSE_FILTER;
 import static org.onosproject.drivers.huawei.DriverUtil.RPC_CLOSE_GET;
@@ -177,17 +177,21 @@
 
     @Override
     public Collection<PortStatistics> discoverPortStatistics() {
-        return ImmutableList.copyOf(getPortStatistics(getInterfaces()));
+        String interfaces = getInterfaces();
+        if (StringUtils.isNotBlank(interfaces)) {
+            Collection<PortStatistics> portStats = getPortStatistics(interfaces);
+            return ImmutableList.copyOf(portStats);
+        }
+        return null;
     }
 
     private String getInterfaces() {
         NetconfSession session = getNetconfSession();
-        String interfaces;
+        String interfaces = null;
         try {
             interfaces = session.get(getInterfacesReq());
         } catch (IOException e) {
-            throw new IllegalArgumentException(
-                    new NetconfException(INT_INFO_FAILURE, e.getCause()));
+            log.info("Failed to retrive interface {} ", e.getMessage());
         }
         return interfaces;
     }
diff --git a/drivers/huawei/driver/src/main/java/org/onosproject/drivers/huawei/HuaweiXmlParser.java b/drivers/huawei/driver/src/main/java/org/onosproject/drivers/huawei/HuaweiXmlParser.java
index 5d56ddc..236fbf7 100644
--- a/drivers/huawei/driver/src/main/java/org/onosproject/drivers/huawei/HuaweiXmlParser.java
+++ b/drivers/huawei/driver/src/main/java/org/onosproject/drivers/huawei/HuaweiXmlParser.java
@@ -238,8 +238,6 @@
         DefaultPortStatistics.Builder builder = DefaultPortStatistics.builder();
 
         if (INTERFACES.contains(ifType)) {
-            Element info = ifElement.element(DYN_INFO);
-
             int port = Integer.parseInt(getPortNum(ifElement.element(IF_NUM)
                                                            .getText()));
             Element statInfo = ifElement.element(IF_STATS);