/*\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
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
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
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
}\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