Trigger Device delete event on Link add

Change-Id: I20ab7cae0ac81e5528658ec702a7b190ff9ae7e0
diff --git a/src/main/java/net/onrc/onos/ofcontroller/networkgraph/NetworkGraphImpl.java b/src/main/java/net/onrc/onos/ofcontroller/networkgraph/NetworkGraphImpl.java
index 1c342e0..34e8d51 100644
--- a/src/main/java/net/onrc/onos/ofcontroller/networkgraph/NetworkGraphImpl.java
+++ b/src/main/java/net/onrc/onos/ofcontroller/networkgraph/NetworkGraphImpl.java
@@ -638,18 +638,22 @@
 		log.error("Device {} on Port {} should have been removed prior to adding Link {}", d, dstPort, linkEvt);
 		DeviceImpl dev = getDeviceImpl(d);
 		dev.removeAttachmentPoint(dstPort);
-		// XXX This implies that change is made to Device Object,
-		// which need to be written to DB, how should that be done?
-		// should we write here or ignore and leave DB in inconsistent state?
+		// This implies that change is made to Device Object.
+		// sending Device attachment point removed event
+		DeviceEvent rmEvent = new DeviceEvent(d.getMacAddress());
+		rmEvent.addAttachmentPoint(new SwitchPort(dstPort.getDpid(), dstPort.getNumber()));
+		removeDeviceEvent(rmEvent);
 	    }
 	    dstPortMem.removeAllDevice();
 	    for(Device d : srcPortMem.getDevices() ) {
 		log.error("Device {} on Port {} should have been removed prior to adding Link {}", d, srcPort, linkEvt);
 		DeviceImpl dev = getDeviceImpl(d);
 		dev.removeAttachmentPoint(srcPort);
-		// XXX This implies that change is made to Device Object,
-		// which need to be written to DB, how should that be done?
-		// should we write here or ignore and leave DB in inconsistent state?
+		// This implies that change is made to Device Object.
+		// sending Device attachment point removed event
+		DeviceEvent rmEvent = new DeviceEvent(d.getMacAddress());
+		rmEvent.addAttachmentPoint(new SwitchPort(dstPort.getDpid(), dstPort.getNumber()));
+		removeDeviceEvent(rmEvent);
 	    }
 	    srcPortMem.removeAllDevice();