4 * Generated from: yang module name: bgp-rib-impl yang module local name: rib-impl
5 * Generated by: org.opendaylight.controller.config.yangjmxgenerator.plugin.JMXGenerator
6 * Generated at: Wed Nov 06 13:02:32 CET 2013
8 * Do not modify this file unless it is present under src/main directory
10 package org.opendaylight.controller.config.yang.bgp.rib.impl;
12 import org.opendaylight.controller.config.api.JmxAttributeValidationException;
13 import org.opendaylight.controller.sal.binding.api.data.DataProviderService;
14 import org.opendaylight.protocol.bgp.parser.BGPSessionListener;
15 import org.opendaylight.protocol.bgp.rib.impl.BGP;
16 import org.opendaylight.protocol.bgp.rib.impl.BGPPeer;
17 import org.opendaylight.protocol.bgp.rib.impl.RIBImpl;
18 import org.opendaylight.protocol.bgp.rib.spi.RIBExtensionConsumerContext;
19 import org.opendaylight.protocol.concepts.ListenerRegistration;
20 import org.opendaylight.protocol.framework.ReconnectStrategy;
21 import org.opendaylight.protocol.framework.ReconnectStrategyFactory;
22 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev130925.RibId;
27 public final class RIBImplModule
29 org.opendaylight.controller.config.yang.bgp.rib.impl.AbstractRIBImplModule {
32 final org.opendaylight.controller.config.api.ModuleIdentifier name,
33 final org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
34 super(name, dependencyResolver);
38 final org.opendaylight.controller.config.api.ModuleIdentifier name,
39 final org.opendaylight.controller.config.api.DependencyResolver dependencyResolver,
40 final RIBImplModule oldModule, final java.lang.AutoCloseable oldInstance) {
41 super(name, dependencyResolver, oldModule, oldInstance);
45 public void validate() {
47 JmxAttributeValidationException.checkNotNull(getExtensions(),
48 "is not set.", extensionsJmxAttribute);
52 public java.lang.AutoCloseable createInstance() {
53 RibImplCloseable rib = new RibImplCloseable(getRibId(), getExtensionsDependency(), getDataProviderDependency());
54 BGP bgp = getBgpDependency();
55 final BGPPeer peer = new BGPPeer(rib, "peer-" + bgp.toString());
57 ListenerRegistration<BGPSessionListener> reg = bgp
58 .registerUpdateListener(peer,
59 new ReconnectStrategyFactory() {
61 public ReconnectStrategy createReconnectStrategy() {
62 return getTcpReconnectStrategyDependency();
64 }, getSessionReconnectStrategyDependency());
65 rib.setListenerRegistration(reg);
69 private static final class RibImplCloseable extends RIBImpl implements AutoCloseable {
70 private ListenerRegistration<BGPSessionListener> reg;
72 private RibImplCloseable(final RibId ribId, final RIBExtensionConsumerContext extensions, final DataProviderService dps) {
73 super(ribId, extensions, dps);
77 public void close() throws Exception {
81 public void setListenerRegistration(final ListenerRegistration<BGPSessionListener> reg) {