Bug-731: Fixed few major Sonar warnings
[bgpcep.git] / bgp / linkstate / src / main / java / org / opendaylight / controller / config / yang / bgp / linkstate / LinkstateModule.java
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 /**
9  * Generated file
10
11  * Generated from: yang module name: config-bgp-linkstate  yang module local name: bgp-linkstate
12  * Generated by: org.opendaylight.controller.config.yangjmxgenerator.plugin.JMXGenerator
13  * Generated at: Sat Nov 16 08:52:43 CET 2013
14  *
15  * Do not modify this file unless it is present under src/main directory
16  */
17 package org.opendaylight.controller.config.yang.bgp.linkstate;
18
19 import org.opendaylight.protocol.bgp.linkstate.BGPActivator;
20 import org.opendaylight.protocol.bgp.linkstate.RIBActivator;
21 import org.opendaylight.protocol.bgp.parser.spi.BGPExtensionProviderActivator;
22 import org.opendaylight.protocol.bgp.parser.spi.BGPExtensionProviderContext;
23 import org.opendaylight.protocol.bgp.rib.spi.RIBExtensionProviderActivator;
24 import org.opendaylight.protocol.bgp.rib.spi.RIBExtensionProviderContext;
25
26 /**
27  *
28  */
29 public final class LinkstateModule extends org.opendaylight.controller.config.yang.bgp.linkstate.AbstractLinkstateModule {
30
31     public LinkstateModule(final org.opendaylight.controller.config.api.ModuleIdentifier identifier,
32             final org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
33         super(identifier, dependencyResolver);
34     }
35
36     public LinkstateModule(final org.opendaylight.controller.config.api.ModuleIdentifier identifier,
37             final org.opendaylight.controller.config.api.DependencyResolver dependencyResolver, final LinkstateModule oldModule,
38             final java.lang.AutoCloseable oldInstance) {
39         super(identifier, dependencyResolver, oldModule, oldInstance);
40     }
41
42     @Override
43     public void customValidation() {
44         // Add custom validation for module attributes here.
45     }
46
47     @Override
48     public java.lang.AutoCloseable createInstance() {
49         final class LinkstateExtension implements AutoCloseable, BGPExtensionProviderActivator, RIBExtensionProviderActivator {
50             private final BGPExtensionProviderActivator bgpact = new BGPActivator(getIanaLinkstateAttributeType());
51             private final RIBExtensionProviderActivator ribact = new RIBActivator();
52
53             @Override
54             public void close() {
55                 if (bgpact != null) {
56                     bgpact.stop();
57                 }
58                 if (ribact != null) {
59                     ribact.stopRIBExtensionProvider();
60                 }
61             }
62
63             @Override
64             public void startRIBExtensionProvider(final RIBExtensionProviderContext context) {
65                 ribact.startRIBExtensionProvider(context);
66             }
67
68             @Override
69             public void stopRIBExtensionProvider() {
70                 ribact.stopRIBExtensionProvider();
71             }
72
73             @Override
74             public void start(final BGPExtensionProviderContext context) {
75                 bgpact.start(context);
76             }
77
78             @Override
79             public void stop() {
80                 bgpact.stop();
81             }
82         }
83
84         return new LinkstateExtension();
85     }
86 }