X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=neutron-ovsdb%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fgroupbasedpolicy%2Fneutron%2Fovsdb%2FNeutronOvsdb.java;h=0f115816d32aaec802c266a46dd33a9aec554bb3;hb=02dd576a2ff7d7a8c304bd74a239c150be1ddd2b;hp=b9104346aec2c71ad7dfb32f48d57b1802a267e6;hpb=21137890551eb95e0f45280e6dca8e6636838276;p=groupbasedpolicy.git diff --git a/neutron-ovsdb/src/main/java/org/opendaylight/groupbasedpolicy/neutron/ovsdb/NeutronOvsdb.java b/neutron-ovsdb/src/main/java/org/opendaylight/groupbasedpolicy/neutron/ovsdb/NeutronOvsdb.java index b9104346a..0f115816d 100644 --- a/neutron-ovsdb/src/main/java/org/opendaylight/groupbasedpolicy/neutron/ovsdb/NeutronOvsdb.java +++ b/neutron-ovsdb/src/main/java/org/opendaylight/groupbasedpolicy/neutron/ovsdb/NeutronOvsdb.java @@ -1,39 +1,46 @@ +/* + * Copyright (c) 2015 Cisco Systems, Inc. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ + package org.opendaylight.groupbasedpolicy.neutron.ovsdb; import static com.google.common.base.Preconditions.checkNotNull; -import java.util.ArrayList; -import java.util.List; - import org.opendaylight.controller.md.sal.binding.api.DataBroker; -import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry; import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.endpoint.rev140421.EndpointService; -import org.osgi.framework.BundleContext; -import org.osgi.framework.ServiceRegistration; +import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.neutron.ovsdb.params.rev160812.IntegrationBridgeSetting; public class NeutronOvsdb implements AutoCloseable { - private final List> registrations = new ArrayList>(); private final TerminationPointDataChangeListener tpListener; - private final NodeDataChangeListener nodeListener; - public NeutronOvsdb(DataBroker dataProvider, RpcProviderRegistry rpcProvider, BundleContext context) { - checkNotNull(dataProvider); - checkNotNull(rpcProvider); - checkNotNull(context); + private final PortByEndpointListener portByEndpointListener; + private final OvsdbNodeListener ovsdbNodeListener; + private final ProviderPhysicalNetworkListener provPhysNetListener; - EndpointService epService = rpcProvider.getRpcService(EndpointService.class); + public NeutronOvsdb(DataBroker dataProvider, EndpointService epService, + IntegrationBridgeSetting integrationbridgeSettings) { + checkNotNull(dataProvider); tpListener = new TerminationPointDataChangeListener(dataProvider, epService); - nodeListener = new NodeDataChangeListener(dataProvider); + ovsdbNodeListener = new OvsdbNodeListener(dataProvider, integrationbridgeSettings); + portByEndpointListener = new PortByEndpointListener(dataProvider); + provPhysNetListener = new ProviderPhysicalNetworkListener(dataProvider); } /** + * Used to properly close running instance. + * * @see java.lang.AutoCloseable#close() */ @Override public void close() throws Exception { - for (ServiceRegistration registration : registrations) { - registration.unregister(); - } + tpListener.close(); + ovsdbNodeListener.close(); + portByEndpointListener.close(); + provPhysNetListener.close(); } }