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=e03886e057b48b6d10c7ffdf2ba30275b31e8188;hpb=b4b72d0d3aa23cfcefa8c90d5e2273272cfdc7dd;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 e03886e05..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,37 +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 OvsdbDataChangeListener listener; - public NeutronOvsdb(DataBroker dataProvider, RpcProviderRegistry rpcProvider, BundleContext context) { - checkNotNull(dataProvider); - checkNotNull(rpcProvider); - checkNotNull(context); + private final TerminationPointDataChangeListener tpListener; + private final PortByEndpointListener portByEndpointListener; + private final OvsdbNodeListener ovsdbNodeListener; + private final ProviderPhysicalNetworkListener provPhysNetListener; - EndpointService epService = rpcProvider.getRpcService(EndpointService.class); - listener = new OvsdbDataChangeListener(dataProvider, epService); + public NeutronOvsdb(DataBroker dataProvider, EndpointService epService, + IntegrationBridgeSetting integrationbridgeSettings) { + checkNotNull(dataProvider); + tpListener = new TerminationPointDataChangeListener(dataProvider, epService); + 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(); } }