1 package test.mock.util;
3 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
4 import org.opendaylight.controller.md.sal.common.api.routing.RouteChangeListener;
5 import org.opendaylight.controller.sal.binding.api.BindingAwareBroker;
6 import org.opendaylight.controller.sal.binding.api.BindingAwareProvider;
7 import org.opendaylight.controller.sal.binding.api.BindingAwareService;
8 import org.opendaylight.controller.sal.binding.api.NotificationProviderService;
9 import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry;
10 import org.opendaylight.controller.sal.binding.api.rpc.RpcContextIdentifier;
11 import org.opendaylight.yangtools.concepts.ListenerRegistration;
12 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
13 import org.opendaylight.yangtools.yang.binding.RpcService;
15 public class ProviderContextMock implements BindingAwareBroker.ProviderContext {
17 RpcProviderRegistry rpcProviderMock;
18 NotificationProviderService notificationProviderService;
19 DataBroker dataBroker;
21 public ProviderContextMock(RpcProviderRegistry rpcProviderMock, DataBroker dataBroker,
22 NotificationProviderService notificationProviderServiceMock) {
23 this.rpcProviderMock = rpcProviderMock;
24 this.dataBroker = dataBroker;
25 this.notificationProviderService = notificationProviderServiceMock;
29 public void registerFunctionality(BindingAwareProvider.ProviderFunctionality functionality) {
34 public void unregisterFunctionality(BindingAwareProvider.ProviderFunctionality functionality) {
38 @SuppressWarnings("unchecked")
40 public <T extends BindingAwareService> T getSALService(Class<T> service) {
41 if (service.equals(DataBroker.class)) {
42 return (T) dataBroker;
44 else if (service.equals(NotificationProviderService.class)) {
45 return (T) notificationProviderService;
51 public <T extends RpcService> BindingAwareBroker.RpcRegistration<T> addRpcImplementation(Class<T> serviceInterface, T implementation) throws IllegalStateException {
56 public <T extends RpcService> BindingAwareBroker.RoutedRpcRegistration<T> addRoutedRpcImplementation(Class<T> serviceInterface, T implementation) throws IllegalStateException {
61 public <L extends RouteChangeListener<RpcContextIdentifier, InstanceIdentifier<?>>> ListenerRegistration<L> registerRouteChangeListener(L listener) {
66 public <T extends RpcService> T getRpcService(Class<T> serviceInterface) {
67 return rpcProviderMock.getRpcService(serviceInterface);