Adding FlowRef,MeterRef and GroupRef for the Error message
[openflowplugin.git] / test-provider / src / main / java / org / opendaylight / openflowplugin / test / OpenflowpluginTestActivator.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.openflowplugin.test
9
10 import org.opendaylight.controller.sal.binding.api.AbstractBindingAwareProvider
11 import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.ProviderContext
12 import org.opendaylight.controller.sal.binding.api.NotificationProviderService
13 import org.opendaylight.controller.sal.binding.api.data.DataProviderService
14 import org.osgi.framework.BundleContext
15
16 class OpenflowpluginTestActivator extends AbstractBindingAwareProvider {
17
18     static var OpenflowpluginTestServiceProvider provider = new OpenflowpluginTestServiceProvider();
19     static var OpenflowpluginGroupTestServiceProvider groupProvider = new OpenflowpluginGroupTestServiceProvider();
20     static var OpenflowpluginMeterTestServiceProvider meterProvider = new OpenflowpluginMeterTestServiceProvider();
21     static var OpenflowpluginTableFeaturesTestServiceProvider tableProvider = new OpenflowpluginTableFeaturesTestServiceProvider();
22     var OpenflowpluginTestCommandProvider cmdProvider;
23     var OpenflowpluginGroupTestCommandProvider cmdGroupProvider;
24     var OpenflowpluginMeterTestCommandProvider cmdMeterProvider;
25     var OpenflowpluginTableFeaturesTestCommandProvider cmdTableProvider;
26     var OpenflowpluginStatsTestCommandProvider cmdStatsProvider;
27     var OpenflowpluginTestNodeConnectorNotification cmdNodeConnectorNotification;
28     var OpenflowpluginTestTopologyNotification cmdTopologyNotification;
29     var OpenflowPluginBulkTransactionProvider bulkCmdProvider;
30     var OpenflowPluginBulkGroupTransactionProvider groupCmdProvider;
31     public static final String NODE_ID =  "foo:node:1";
32
33     override onSessionInitiated(ProviderContext session) {
34         provider.dataService = session.getSALService(DataProviderService)
35         provider.notificationService = session.getSALService(NotificationProviderService)
36         provider.start();
37         provider.register(session);
38         groupProvider.register(session);
39         meterProvider.register(session);
40         tableProvider.register(session);
41         cmdProvider.onSessionInitiated(session);
42         cmdGroupProvider.onSessionInitiated(session);
43         cmdMeterProvider.onSessionInitiated(session);
44         cmdTableProvider.onSessionInitiated(session);
45         cmdStatsProvider.onSessionInitiated(session);      
46         cmdNodeConnectorNotification.onSessionInitiated(session);
47         cmdTopologyNotification.onSessionInitiated(session);
48         bulkCmdProvider.onSessionInitiated(session);
49         groupCmdProvider.onSessionInitiated(session);
50     }
51     
52     override startImpl(BundleContext ctx) {
53         super.startImpl(ctx);
54         cmdProvider = new OpenflowpluginTestCommandProvider(ctx);
55         cmdGroupProvider = new OpenflowpluginGroupTestCommandProvider(ctx);
56         cmdMeterProvider = new OpenflowpluginMeterTestCommandProvider(ctx);
57         cmdTableProvider = new OpenflowpluginTableFeaturesTestCommandProvider(ctx);
58         cmdStatsProvider = new OpenflowpluginStatsTestCommandProvider(ctx);
59         cmdNodeConnectorNotification = new OpenflowpluginTestNodeConnectorNotification(ctx);
60         cmdTopologyNotification = new OpenflowpluginTestTopologyNotification(ctx);
61         bulkCmdProvider = new OpenflowPluginBulkTransactionProvider(ctx);
62         groupCmdProvider = new OpenflowPluginBulkGroupTransactionProvider(ctx);
63     }
64
65     override protected stopImpl(BundleContext context) {
66         provider.close();
67     }
68
69 }