[ONOS-3117] Storing listener of PortChain

Change-Id: I163c013bd6882de1d78ce611fd80cb0636b4fbf5
diff --git a/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portchain/impl/PortChainManager.java b/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portchain/impl/PortChainManager.java
index 5201a2c..0062db4 100644
--- a/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portchain/impl/PortChainManager.java
+++ b/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/portchain/impl/PortChainManager.java
@@ -27,6 +27,7 @@
 import org.apache.felix.scr.annotations.ReferenceCardinality;
 import org.apache.felix.scr.annotations.Service;
 import org.onlab.util.KryoNamespace;
+import org.onosproject.event.AbstractListenerManager;
 import org.onosproject.store.serializers.KryoNamespaces;
 import org.onosproject.store.service.EventuallyConsistentMap;
 import org.onosproject.store.service.MultiValuedTimestamp;
@@ -34,6 +35,8 @@
 import org.onosproject.store.service.WallClockTimestamp;
 import org.onosproject.vtnrsc.PortChain;
 import org.onosproject.vtnrsc.PortChainId;
+import org.onosproject.vtnrsc.portchain.PortChainEvent;
+import org.onosproject.vtnrsc.portchain.PortChainListener;
 import org.onosproject.vtnrsc.portchain.PortChainService;
 import org.slf4j.Logger;
 
@@ -42,13 +45,14 @@
  */
 @Component(immediate = true)
 @Service
-public class PortChainManager implements PortChainService {
-
-    private final Logger log = getLogger(getClass());
+public class PortChainManager extends AbstractListenerManager<PortChainEvent, PortChainListener> implements
+        PortChainService {
 
     private static final String PORT_CHAIN_ID_NULL = "PortChain ID cannot be null";
     private static final String PORT_CHAIN_NULL = "PortChain cannot be null";
+    private static final String LISTENER_NOT_NULL = "Listener cannot be null";
 
+    private final Logger log = getLogger(getClass());
     private EventuallyConsistentMap<PortChainId, PortChain> portChainStore;
 
     @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)