1 package org.opendaylight.groupbasedpolicy.neutron.ovsdb;
3 import static com.google.common.base.Preconditions.checkNotNull;
5 import java.util.ArrayList;
8 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
9 import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry;
10 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.endpoint.rev140421.EndpointService;
11 import org.osgi.framework.BundleContext;
12 import org.osgi.framework.ServiceRegistration;
14 public class NeutronOvsdb implements AutoCloseable {
16 private final List<ServiceRegistration<?>> registrations = new ArrayList<ServiceRegistration<?>>();
17 private final OvsdbDataChangeListener listener;
18 public NeutronOvsdb(DataBroker dataProvider, RpcProviderRegistry rpcProvider, BundleContext context) {
19 checkNotNull(dataProvider);
20 checkNotNull(rpcProvider);
21 checkNotNull(context);
23 EndpointService epService = rpcProvider.getRpcService(EndpointService.class);
24 listener = new OvsdbDataChangeListener(dataProvider, epService);
28 * @see java.lang.AutoCloseable#close()
31 public void close() throws Exception {
32 for (ServiceRegistration<?> registration : registrations) {
33 registration.unregister();