[ONOS-3583] Update VTNRSC's bug:null exception.

Change-Id: I6edbef13270acf75899bccca383602caa5b1a562
diff --git a/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/service/impl/VtnRscManager.java b/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/service/impl/VtnRscManager.java
index 37a2c50..6781b60 100644
--- a/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/service/impl/VtnRscManager.java
+++ b/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/service/impl/VtnRscManager.java
@@ -227,6 +227,10 @@
             checkNotNull(event, EVENT_NOT_NULL);
             Host host = event.subject();
             String ifaceId = host.annotations().value(IFACEID);
+            if (ifaceId == null) {
+                log.error("The ifaceId of Host is null");
+                return;
+            }
             VirtualPortId hPortId = VirtualPortId.portId(ifaceId);
             TenantId tenantId = virtualPortService.getPort(hPortId).tenantId();
             DeviceId deviceId = host.location().deviceId();
@@ -477,18 +481,21 @@
         checkNotNull(deviceId, DEVICEID_NOT_NULL);
         checkNotNull(tenantId, TENANTID_NOT_NULL);
         Set<Host> hostSet = hostService.getConnectedHosts(deviceId);
-        for (Host h : hostSet) {
-            String ifaceId = h.annotations().value(IFACEID);
-            VirtualPortId hPortId = VirtualPortId.portId(ifaceId);
-            if (virtualPortService.getPort(hPortId).tenantId() != tenantId) {
-                hostSet.remove(h);
-            } else {
-                if (!isServiceFunction(hPortId)) {
-                    hostSet.remove(h);
+        Set<Host> sfcHostSet = new HashSet<Host>();
+        if (hostSet != null) {
+            for (Host h : hostSet) {
+                String ifaceId = h.annotations().value(IFACEID);
+                if (ifaceId != null) {
+                    VirtualPortId hPortId = VirtualPortId.portId(ifaceId);
+                    if (virtualPortService.getPort(hPortId).tenantId().tenantId()
+                            .equals(tenantId.tenantId())
+                            && isServiceFunction(hPortId)) {
+                        sfcHostSet.add(h);
+                    }
                 }
             }
         }
-        if (hostSet.size() == 1 && hostSet.contains(host)) {
+        if (sfcHostSet.size() == 1 && sfcHostSet.contains(host)) {
             return true;
         }
         return false;
@@ -509,18 +516,21 @@
         checkNotNull(deviceId, DEVICEID_NOT_NULL);
         checkNotNull(tenantId, TENANTID_NOT_NULL);
         Set<Host> hostSet = hostService.getConnectedHosts(deviceId);
-        for (Host h : hostSet) {
-            String ifaceId = h.annotations().value(IFACEID);
-            VirtualPortId hPortId = VirtualPortId.portId(ifaceId);
-            if (virtualPortService.getPort(hPortId).tenantId() != tenantId) {
-                hostSet.remove(h);
-            } else {
-                if (isServiceFunction(hPortId)) {
-                    hostSet.remove(h);
+        Set<Host> sfcHostSet = new HashSet<Host>();
+        if (hostSet != null) {
+            for (Host h : hostSet) {
+                String ifaceId = h.annotations().value(IFACEID);
+                if (ifaceId != null) {
+                    VirtualPortId hPortId = VirtualPortId.portId(ifaceId);
+                    if (virtualPortService.getPort(hPortId).tenantId().tenantId()
+                            .equals(tenantId.tenantId())
+                            && !isServiceFunction(hPortId)) {
+                        sfcHostSet.add(h);
+                    }
                 }
             }
         }
-        if (hostSet.size() == 1 && hostSet.contains(host)) {
+        if (sfcHostSet.size() == 1 && sfcHostSet.contains(host)) {
             return true;
         }
         return false;