* Added a new class TopologyEvents that encapsulated the collections
  of all possible topology-related events.
* Updated the ITopologyListener API to use the new class TopologyEvents
* Updated the code that is affected by the ITopologyListener API change.

Change-Id: Ib836141d6a21e5317d645619eb685ff0b13788a2
diff --git a/src/test/java/net/onrc/onos/core/intent/runtime/PathCalcRuntimeModuleTest.java b/src/test/java/net/onrc/onos/core/intent/runtime/PathCalcRuntimeModuleTest.java
index 5d4adb8..568b242 100644
--- a/src/test/java/net/onrc/onos/core/intent/runtime/PathCalcRuntimeModuleTest.java
+++ b/src/test/java/net/onrc/onos/core/intent/runtime/PathCalcRuntimeModuleTest.java
@@ -23,6 +23,7 @@
 import net.onrc.onos.core.topology.MockTopology;
 import net.onrc.onos.core.topology.PortEvent;
 import net.onrc.onos.core.topology.SwitchEvent;
+import net.onrc.onos.core.topology.TopologyEvents;
 
 import org.hamcrest.Description;
 import org.hamcrest.Factory;
@@ -456,6 +457,7 @@
         final List<DeviceEvent> emptyDeviceEvents = new LinkedList<>();
         final List<LinkEvent> addedLinkEvents = new LinkedList<>();
         final List<LinkEvent> removedLinkEvents = new LinkedList<>();
+        TopologyEvents topologyEvents;
 
         final MockTopology topology = mocks.getTopology();
         topology.removeLink(1L, 12L, 2L, 21L); // This link is used by the intent "1"
@@ -464,10 +466,18 @@
         LinkEvent linkEvent2 = new LinkEvent(2L, 21L, 1L, 12L);
         removedLinkEvents.add(linkEvent1);
         removedLinkEvents.add(linkEvent2);
-        runtime.topologyEvents(emptySwitchEvents, emptySwitchEvents,
-                    emptyPortEvents, emptyPortEvents,
-                    addedLinkEvents, removedLinkEvents,
-                    emptyDeviceEvents, emptyDeviceEvents);
+
+        topologyEvents = new TopologyEvents(0,
+                                            emptySwitchEvents,
+                                            emptySwitchEvents,
+                                            emptyPortEvents,
+                                            emptyPortEvents,
+                                            addedLinkEvents,
+                                            removedLinkEvents,
+                                            emptyDeviceEvents,
+                                            emptyDeviceEvents);
+
+        runtime.topologyEvents(topologyEvents);
 
         //  Check the high level intents.
         final IntentMap highLevelIntentsAfterReroute = runtime.getHighLevelIntents();
@@ -681,6 +691,7 @@
         final List<DeviceEvent> emptyDeviceEvents = new LinkedList<>();
         final List<LinkEvent> addedLinkEvents = new LinkedList<>();
         final List<LinkEvent> removedLinkEvents = new LinkedList<>();
+        TopologyEvents topologyEvents;
 
         final MockTopology topology = mocks.getTopology();
         topology.removeLink(1L, 12L, 2L, 21L); // This link is used by the intent "1"
@@ -689,15 +700,18 @@
         final LinkEvent linkEvent2 = new LinkEvent(2L, 21L, 1L, 12L);
         removedLinkEvents.add(linkEvent1);
         removedLinkEvents.add(linkEvent2);
-        runtime.topologyEvents(
-                emptySwitchEvents,
-                emptySwitchEvents,
-                emptyPortEvents,
-                emptyPortEvents,
-                addedLinkEvents,
-                removedLinkEvents,
-                emptyDeviceEvents,
-                emptyDeviceEvents);
+
+        topologyEvents = new TopologyEvents(0,
+                                            emptySwitchEvents,
+                                            emptySwitchEvents,
+                                            emptyPortEvents,
+                                            emptyPortEvents,
+                                            addedLinkEvents,
+                                            removedLinkEvents,
+                                            emptyDeviceEvents,
+                                            emptyDeviceEvents);
+
+        runtime.topologyEvents(topologyEvents);
 
         //  Check the high level intents.
         final IntentMap highLevelIntentsAfterReroute = runtime.getHighLevelIntents();
@@ -739,15 +753,18 @@
         topology.addBidirectionalLinks(1L, 12L, 2L, 21L); // Restoration of the failure
         addedLinkEvents.add(linkEvent1);
         addedLinkEvents.add(linkEvent2);
-        runtime.topologyEvents(
-                emptySwitchEvents,
-                emptySwitchEvents,
-                emptyPortEvents,
-                emptyPortEvents,
-                addedLinkEvents,
-                removedLinkEvents,
-                emptyDeviceEvents,
-                emptyDeviceEvents);
+
+        topologyEvents = new TopologyEvents(0,
+                                            emptySwitchEvents,
+                                            emptySwitchEvents,
+                                            emptyPortEvents,
+                                            emptyPortEvents,
+                                            addedLinkEvents,
+                                            removedLinkEvents,
+                                            emptyDeviceEvents,
+                                            emptyDeviceEvents);
+
+        runtime.topologyEvents(topologyEvents);
 
         //  Check the high level intents.
         final IntentMap highLevelIntentsAfterInterrupt = runtime.getHighLevelIntents();