[ONOS-7509] deviceDisconnected method in Device Manager uses ports description information

Change-Id: Id32fc7f0d35382158e2d06fa71cc6d75b856018b
diff --git a/core/store/dist/src/main/java/org/onosproject/store/device/impl/GossipDeviceStore.java b/core/store/dist/src/main/java/org/onosproject/store/device/impl/GossipDeviceStore.java
index 7f593e7..818f0583 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/device/impl/GossipDeviceStore.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/device/impl/GossipDeviceStore.java
@@ -660,6 +660,7 @@
 
                 final Port oldPort = ports.get(number);
                 final Port newPort;
+                boolean isRemoved = portDescription.isRemoved();
 
 
                 final Timestamped<PortDescription> existingPortDesc = descs.getPortDesc(number);
@@ -675,9 +676,13 @@
                     continue;
                 }
 
-                events.add(oldPort == null ?
-                                   createPort(device, newPort, ports) :
-                                   updatePort(device, oldPort, newPort, ports));
+                if (isRemoved && oldPort != null) {
+                    events.add(removePort(deviceId, oldPort.number()));
+                } else if (!isRemoved) {
+                    events.add(oldPort == null ?
+                                       createPort(device, newPort, ports) :
+                                       updatePort(device, oldPort, newPort, ports));
+                }
             }
 
             events.addAll(pruneOldPorts(device, ports, processed));