Merge "Fixed deserialization of IdentityRefs in Restconf URI."
[controller.git] / opendaylight / md-sal / forwardingrules-manager / src / main / java / org / opendaylight / controller / frm / FRMActivator.xtend
1 /*
2  * Copyright (c) 2013 Cisco Systems, Inc. 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 package org.opendaylight.controller.frm
9
10 import org.opendaylight.controller.frm.flow.FlowProvider
11 import org.opendaylight.controller.frm.group.GroupProvider
12 import org.opendaylight.controller.frm.meter.MeterProvider
13 import org.opendaylight.controller.sal.binding.api.AbstractBindingAwareProvider
14 import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.ProviderContext
15 import org.opendaylight.controller.sal.binding.api.data.DataProviderService
16 import org.opendaylight.yang.gen.v1.urn.opendaylight.flow.service.rev130819.SalFlowService
17 import org.opendaylight.yang.gen.v1.urn.opendaylight.group.service.rev130918.SalGroupService
18 import org.osgi.framework.BundleContext
19 import org.opendaylight.yang.gen.v1.urn.opendaylight.meter.service.rev130918.SalMeterService
20
21 class FRMActivator extends AbstractBindingAwareProvider {
22
23     static var FlowProvider provider = new FlowProvider();
24     static var GroupProvider groupProvider = new GroupProvider();
25     static var MeterProvider meterProvider = new MeterProvider();
26
27     override onSessionInitiated(ProviderContext session) {
28         provider.dataService = session.getSALService(DataProviderService)
29         provider.salFlowService = session.getRpcService(SalFlowService);
30         provider.start();
31         
32         groupProvider.dataService = session.getSALService(DataProviderService)
33         groupProvider.salGroupService = session.getRpcService(SalGroupService)
34         groupProvider.start();
35         
36         meterProvider.dataService = session.getSALService(DataProviderService)
37         meterProvider.salMeterService = session.getRpcService(SalMeterService)
38         meterProvider.start();
39     }
40
41     override protected stopImpl(BundleContext context) {
42         provider.close();
43         groupProvider.close();
44         meterProvider.close();
45     }
46
47 }