This is legacy and will eventually be deprecated/removed.
Change-Id: I3e643a8b8f2778caa4c85749409e86effe498bf5
Signed-off-by: Tom Pantelis <tompantelis@gmail.com>
package org.opendaylight.lispflowmapping.neutron;
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
-import org.opendaylight.controller.sal.binding.api.BindingAwareBroker;
-import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.ProviderContext;
-import org.opendaylight.controller.sal.binding.api.BindingAwareProvider;
-import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry;
import org.opendaylight.lispflowmapping.interfaces.lisp.IFlowMapping;
import org.opendaylight.lispflowmapping.neutron.mappingmanager.HostInformationManager;
import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.mappingservice.rev150906.OdlMappingserviceService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-public class LispNeutronService implements ILispNeutronService, BindingAwareProvider {
+public class LispNeutronService implements ILispNeutronService {
private static final Logger LOG = LoggerFactory.getLogger(LispNeutronService.class);
private IFlowMapping mappingService;
private OdlMappingserviceService lfmDbService;
- protected DataBroker broker;
+ private final DataBroker broker;
- public LispNeutronService(IFlowMapping mappingService, BindingAwareBroker bindingAwareBroker) {
+ public LispNeutronService(IFlowMapping mappingService, DataBroker dataBroker,
+ OdlMappingserviceService odlMappingService) {
this.mappingService = mappingService;
- bindingAwareBroker.registerProvider(this);
+ this.broker = dataBroker;
+
+ HostInformationManager.getInstance().setOdlMappingserviceService(odlMappingService);
LOG.info("LISP NEUTRON SERVICE has been registered");
}
+ @Override
public IFlowMapping getMappingService() {
return this.mappingService;
}
return this.lfmDbService;
}
- @Override
- public void onSessionInitiated(ProviderContext session) {
+ public void init() {
LOG.info("LFMDBSERVICE IS BEING FILLED! SESSION INITIATED");
- RpcProviderRegistry rpcRegistry = session.getSALService(RpcProviderRegistry.class);
- lfmDbService = rpcRegistry.getRpcService(OdlMappingserviceService.class);
- broker = session.getSALService(DataBroker.class);
-
- HostInformationManager.getInstance().setOdlMappingserviceService(lfmDbService);
-
DelegatingDataTreeListener.initiateListener(Network.class, this, broker);
DelegatingDataTreeListener.initiateListener(Subnet.class, this, broker);
DelegatingDataTreeListener.initiateListener(Port.class, this, broker);
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
import org.opendaylight.controller.md.sal.binding.api.MountPointService;
-import org.opendaylight.controller.sal.binding.api.BindingAwareBroker;
-import org.opendaylight.controller.sal.binding.api.BindingAwareProvider;
import org.opendaylight.lispflowmapping.neutron.intenthandler.listener.service.VbridgeTopologyListenerService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
* registers and maintain listeners for getting updates of Neutron Topology
* maintained by groupbasedpolicy and honeycomb vbd.
*/
-public class GroupBasedPolicyNeutronIntentHandlerBean implements AutoCloseable, BindingAwareProvider {
+public class GroupBasedPolicyNeutronIntentHandlerBean implements AutoCloseable {
private static final Logger LOG = LoggerFactory.getLogger(GroupBasedPolicyNeutronIntentHandlerBean.class);
- private DataBroker dataBroker;
- private MountPointService mountService;
+ private final DataBroker dataBroker;
+ private final MountPointService mountService;
private VbridgeTopologyListenerService vbridgeTopologyListenerService;
- private IntentHandlerAsyncExecutorProvider intentHandlerAsyncExecutorProvider =
+ private final IntentHandlerAsyncExecutorProvider intentHandlerAsyncExecutorProvider =
IntentHandlerAsyncExecutorProvider.getInstace();
- public GroupBasedPolicyNeutronIntentHandlerBean(final BindingAwareBroker bindingAwareBroker) {
- bindingAwareBroker.registerProvider(this);
+ public GroupBasedPolicyNeutronIntentHandlerBean(DataBroker dataBroker, MountPointService mountService) {
+ this.dataBroker = dataBroker;
+ this.mountService = mountService;
}
intentHandlerAsyncExecutorProvider.close();
}
- @Override
- public void onSessionInitiated(BindingAwareBroker.ProviderContext session) {
+ public void init() {
LOG.info("LFM neutron handler service registered", this.getClass().getSimpleName());
- dataBroker = session.getSALService(DataBroker.class);
- mountService = session.getSALService(MountPointService.class);
vbridgeTopologyListenerService = VbridgeTopologyListenerService.initialize(dataBroker, mountService);
}
}
<reference id="mappingService"
interface="org.opendaylight.lispflowmapping.interfaces.lisp.IFlowMapping" />
- <reference id="bindingAwareBroker"
- interface="org.opendaylight.controller.sal.binding.api.BindingAwareBroker" />
+ <reference id="dataBroker"
+ interface="org.opendaylight.controller.md.sal.binding.api.DataBroker" />
+ <reference id="mountPointService"
+ interface="org.opendaylight.controller.md.sal.binding.api.MountPointService" />
+
+ <odl:rpc-service id="odlMappingService" interface="org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.mappingservice.rev150906.OdlMappingserviceService"/>
<bean id="lispNeutronPlugin"
class="org.opendaylight.lispflowmapping.neutron.LispNeutronService"
+ init-method="init"
destroy-method="close">
<argument ref="mappingService" />
- <argument ref="bindingAwareBroker"/>
+ <argument ref="dataBroker"/>
+ <argument ref="odlMappingService"/>
</bean>
<bean id="lispNeutronIntent"
class="org.opendaylight.lispflowmapping.neutron.intenthandler.GroupBasedPolicyNeutronIntentHandlerBean"
+ init-method="init"
destroy-method="close">
- <argument ref="bindingAwareBroker"/>
+ <argument ref="dataBroker"/>
+ <argument ref="mountPointService"/>
</bean>
<service ref="lispNeutronPlugin"
interface="org.opendaylight.lispflowmapping.neutron.ILispNeutronService"
odl:type="default" />
-</blueprint>
\ No newline at end of file
+</blueprint>
import org.junit.Test;
import org.mockito.Mockito;
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
-import org.opendaylight.controller.sal.binding.api.BindingAwareBroker;
-import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry;
import org.opendaylight.lispflowmapping.interfaces.lisp.IFlowMapping;
import org.opendaylight.yang.gen.v1.urn.opendaylight.lfm.mappingservice.rev150906.OdlMappingserviceService;
public class LispNeutronServiceTest {
- private static BindingAwareBroker.ProviderContext session = Mockito.mock(BindingAwareBroker.ProviderContext.class);
- private static RpcProviderRegistry rpcRegistry = Mockito.mock(RpcProviderRegistry.class);
+ private static OdlMappingserviceService odlMappingService = Mockito.mock(OdlMappingserviceService.class);
private static DataBroker dataBroker = Mockito.mock(DataBroker.class);
- private IFlowMapping mappingService = Mockito.mock(IFlowMapping.class);
- private BindingAwareBroker bindingAwareBroker = Mockito.mock(BindingAwareBroker.class);
+ private final IFlowMapping mappingService = Mockito.mock(IFlowMapping.class);
- private LispNeutronService lispNeutronService = new LispNeutronService(mappingService, bindingAwareBroker);
+ private final LispNeutronService lispNeutronService =
+ new LispNeutronService(mappingService, dataBroker, odlMappingService);
/**
- * Tests {@link LispNeutronService#onSessionInitiated} method.
+ * Tests {@link LispNeutronService#Init} method.
*/
@Test
- public void onSessionInitiatedTest() {
- Mockito.when(session.getSALService(RpcProviderRegistry.class)).thenReturn(rpcRegistry);
- Mockito.when(session.getSALService(DataBroker.class)).thenReturn(dataBroker);
-
- lispNeutronService.onSessionInitiated(session);
- Mockito.verify(rpcRegistry).getRpcService(OdlMappingserviceService.class);
- Mockito.verify(session).getSALService(DataBroker.class);
+ public void onInit() {
+ lispNeutronService.init();
}
/**