Bump versions by 0.1.0 for next dev cycle
[vpnservice.git] / idmanager / idmanager-impl / src / main / java / org / opendaylight / idmanager / IdManagerServiceProvider.java
1 /*
2  * Copyright (c) 2015 Ericsson India Global Services Pvt Ltd. and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8
9 package org.opendaylight.idmanager;
10
11 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
12 import org.opendaylight.controller.sal.binding.api.BindingAwareBroker;
13 import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.ProviderContext;
14 import org.opendaylight.controller.sal.binding.api.BindingAwareProvider;
15
16 import org.opendaylight.controller.sal.binding.api.RpcProviderRegistry;
17 import org.opendaylight.yang.gen.v1.urn.opendaylight.vpnservice.idmanager.rev150403.IdManagerService;
18 import org.opendaylight.yang.gen.v1.urn.opendaylight.vpnservice.lockmanager.rev150819.LockManagerService;
19 import org.slf4j.Logger;
20 import org.slf4j.LoggerFactory;
21
22
23 public class IdManagerServiceProvider implements BindingAwareProvider,
24             AutoCloseable {
25
26     private static final Logger LOG = LoggerFactory.getLogger(IdManagerServiceProvider.class);
27     private IdManager idManager;
28     private RpcProviderRegistry rpcProviderRegistry;
29     private LockManagerService lockManager;
30
31     public RpcProviderRegistry getRpcProviderRegistry() {
32         return rpcProviderRegistry;
33     }
34
35     public void setRpcProviderRegistry(RpcProviderRegistry rpcProviderRegistry) {
36         this.rpcProviderRegistry = rpcProviderRegistry;
37     }
38
39     public void setLockManager(LockManagerService lockManager) {
40         this.lockManager = lockManager;
41     }
42
43     @Override
44     public void onSessionInitiated(ProviderContext session){
45         LOG.info("IDManagerserviceProvider Session Initiated");
46         try {
47             final  DataBroker dataBroker = session.getSALService(DataBroker.class);
48             idManager = new IdManager(dataBroker);
49             idManager.setLockManager(lockManager);
50             final BindingAwareBroker.RpcRegistration<IdManagerService> rpcRegistration = getRpcProviderRegistry().addRpcImplementation(IdManagerService.class, idManager);
51         } catch (Exception e) {
52             LOG.error("Error initializing services", e);
53         }
54     }
55
56     public IdManagerServiceProvider(RpcProviderRegistry rpcRegistry) {
57         this.rpcProviderRegistry = rpcRegistry;
58     }
59
60     @Override
61     public void close() throws Exception {
62         idManager.close();
63         }
64     }
65
66
67
68
69