BUG 6396 groupbasedpolicy project migration to blueprint
[groupbasedpolicy.git] / groupbasedpolicy / src / main / java / org / opendaylight / controller / config / yang / config / groupbasedpolicy / StatisticsManagerImplModule.java
1 /*
2  * Copyright (c) 2015 Cisco Systems, Inc.  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 /*
10 * Generated file
11 *
12 * Generated from: yang module name: groupbasedpolicy-cfg yang module local name: policy-validator-registry-impl
13 * Generated by: org.opendaylight.controller.config.yangjmxgenerator.plugin.JMXGenerator
14 * Generated at: Thu Dec 10 17:52:04 CET 2015
15 *
16 * Do not modify this file unless it is present under src/main directory
17 */
18 package org.opendaylight.controller.config.yang.config.groupbasedpolicy;
19
20 import org.opendaylight.controller.config.api.osgi.WaitingServiceTracker;
21 import org.opendaylight.groupbasedpolicy.api.StatisticsManager;
22 import org.opendaylight.yang.gen.v1.urn.opendaylight.groupbasedpolicy.statistics.rev151215.statistic.records.StatRecords;
23 import org.osgi.framework.BundleContext;
24
25 public class StatisticsManagerImplModule extends org.opendaylight.controller.config.yang.config.groupbasedpolicy.AbstractStatisticsManagerImplModule {
26
27     private BundleContext bundleContext;
28
29     public StatisticsManagerImplModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
30         super(identifier, dependencyResolver);
31     }
32
33     public StatisticsManagerImplModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver, org.opendaylight.controller.config.yang.config.groupbasedpolicy.StatisticsManagerImplModule oldModule, java.lang.AutoCloseable oldInstance) {
34         super(identifier, dependencyResolver, oldModule, oldInstance);
35     }
36
37     @Override
38     public void customValidation() {
39         // add custom validation form module attributes here.
40     }
41
42     @Override
43     public java.lang.AutoCloseable createInstance() {
44         final WaitingServiceTracker<StatisticsManager> tracker = WaitingServiceTracker.create(
45                 StatisticsManager.class, bundleContext);
46         final StatisticsManager service = tracker.waitForService(WaitingServiceTracker.FIVE_MINUTES);
47
48         final class Instance implements StatisticsManager, AutoCloseable {
49             @Override
50             public void close() {
51                 tracker.close();
52             }
53
54             @Override
55             public boolean writeStat(StatRecords record) {
56                 return service.writeStat(record);
57             }
58
59             @Override
60             public StatRecords readStats() {
61                 return service.readStats();
62             }
63         }
64
65         return new Instance();
66     }
67
68     void setBundleContext(BundleContext bundleContext) {
69         this.bundleContext = bundleContext;
70     }
71
72 }