Update of mapping neutron port to vpp endpoint
[groupbasedpolicy.git] / neutron-vpp-mapper / src / main / java / org / opendaylight / groupbasedpolicy / neutron / vpp / mapper / processors / NeutronListener.java
index d8b5073dd3b67b1de752aed640b58d3133be6dd6..353120c35d6cb1d5815b37158bf79b0a10c339b9 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
- * Copyright (c) 2014 Cisco Systems, Inc. and others. All rights reserved.\r
+ * Copyright (c) 2016 Cisco Systems, Inc. and others. All rights reserved.\r
  *\r
  * This program and the accompanying materials are made available under the\r
  * terms of the Eclipse Public License v1.0 which accompanies this distribution,\r
@@ -23,6 +23,7 @@ import org.opendaylight.controller.md.sal.binding.api.DataTreeChangeListener;
 import org.opendaylight.controller.md.sal.binding.api.DataTreeIdentifier;\r
 import org.opendaylight.controller.md.sal.binding.api.DataTreeModification;\r
 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;\r
+import org.opendaylight.groupbasedpolicy.neutron.vpp.mapper.SocketInfo;\r
 import org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.rev150712.Neutron;\r
 import org.opendaylight.yangtools.concepts.ListenerRegistration;\r
 import org.opendaylight.yangtools.yang.binding.DataObject;\r
@@ -31,6 +32,7 @@ import org.opendaylight.yangtools.yang.binding.InstanceIdentifier.PathArgument;
 import org.slf4j.Logger;\r
 import org.slf4j.LoggerFactory;\r
 \r
+import com.google.common.annotations.VisibleForTesting;\r
 import com.google.common.collect.Iterators;\r
 import com.google.common.collect.PeekingIterator;\r
 \r
@@ -41,14 +43,14 @@ public class NeutronListener implements DataTreeChangeListener<Neutron>, Closeab
     private final Set<MappingProvider<? extends DataObject>> dataChangeProviders = new LinkedHashSet<>();\r
     protected ListenerRegistration<NeutronListener> registeredListener;\r
 \r
-    public NeutronListener(DataBroker dataBroker) {\r
-        registerHandlersAndListeners(dataBroker);\r
+    public NeutronListener(DataBroker dataBroker, SocketInfo socketInfo) {\r
+        registerHandlersAndListeners(dataBroker, socketInfo);\r
         registeredListener = dataBroker.registerDataTreeChangeListener(new DataTreeIdentifier<>(\r
                 LogicalDatastoreType.CONFIGURATION, InstanceIdentifier.builder(Neutron.class).build()), this);\r
     }\r
 \r
-    private void registerHandlersAndListeners(DataBroker dataBroker) {\r
-        PortHandler portHandler = new PortHandler(dataBroker);\r
+    private void registerHandlersAndListeners(DataBroker dataBroker, SocketInfo socketInfo) {\r
+        PortHandler portHandler = new PortHandler(dataBroker, socketInfo);\r
         dataChangeProviders.add(new BaseEndpointByPortListener(portHandler, dataBroker));\r
     }\r
 \r
@@ -115,6 +117,16 @@ public class NeutronListener implements DataTreeChangeListener<Neutron>, Closeab
         }\r
     }\r
 \r
+    @VisibleForTesting\r
+    void clearDataChangeProviders() {\r
+        dataChangeProviders.clear();\r
+    }\r
+\r
+    @VisibleForTesting\r
+    <T extends DataObject> void addDataChangeProvider(MappingProvider<T> t) {\r
+        dataChangeProviders.add(t);\r
+    }\r
+\r
     @Override\r
     public void close() {\r
         registeredListener.close();\r