Resolve a namespace being used by two modules
[bgpcep.git] / bgp / topology-provider-config / src / main / java / org / opendaylight / controller / config / yang / bgp / topology / provider / LinkstateTopologyBuilderModule.java
1 /**
2  * Generated file
3
4  * Generated from: yang module name: config-bgp-topology-provider  yang module local name: bgp-linkstate-topology
5  * Generated by: org.opendaylight.controller.config.yangjmxgenerator.plugin.JMXGenerator
6  * Generated at: Tue Nov 19 15:22:41 CET 2013
7  *
8  * Do not modify this file unless it is present under src/main directory
9  */
10 package org.opendaylight.controller.config.yang.bgp.topology.provider;
11
12 import org.opendaylight.bgpcep.bgp.topology.provider.AbstractTopologyBuilder;
13 import org.opendaylight.bgpcep.bgp.topology.provider.LinkstateTopologyBuilder;
14 import org.opendaylight.bgpcep.topology.DefaultTopologyReference;
15 import org.opendaylight.controller.config.api.JmxAttributeValidationException;
16 import org.opendaylight.controller.sal.binding.api.data.DataChangeListener;
17 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev131125.LinkstateAddressFamily;
18 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.linkstate.rev131125.LinkstateSubsequentAddressFamily;
19 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.bgp.rib.rev130925.rib.Tables;
20 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.Topology;
21 import org.opendaylight.yangtools.concepts.ListenerRegistration;
22 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
23
24
25 /**
26  *
27  */
28 public final class LinkstateTopologyBuilderModule extends org.opendaylight.controller.config.yang.bgp.topology.provider.AbstractLinkstateTopologyBuilderModule
29 {
30
31         public LinkstateTopologyBuilderModule(final org.opendaylight.controller.config.api.ModuleIdentifier identifier, final org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
32                 super(identifier, dependencyResolver);
33         }
34
35         public LinkstateTopologyBuilderModule(final org.opendaylight.controller.config.api.ModuleIdentifier identifier, final org.opendaylight.controller.config.api.DependencyResolver dependencyResolver, final LinkstateTopologyBuilderModule oldModule, final java.lang.AutoCloseable oldInstance) {
36                 super(identifier, dependencyResolver, oldModule, oldInstance);
37         }
38
39         @Override
40         public void validate(){
41                 super.validate();
42                 JmxAttributeValidationException.checkNotNull(getTopologyId(),
43                                 "is not set.", topologyIdJmxAttribute);
44         }
45
46         @Override
47         public java.lang.AutoCloseable createInstance() {
48                 final LinkstateTopologyBuilder b = new LinkstateTopologyBuilder(getDataProviderDependency(), getTopologyId());
49                 final InstanceIdentifier<Tables> i = AbstractTopologyBuilder.tableInstanceIdentifier(LinkstateAddressFamily.class, LinkstateSubsequentAddressFamily.class);
50                 final ListenerRegistration<DataChangeListener> r = getDataProviderDependency().registerDataChangeListener(i, b);
51
52                 final class TopologyReferenceAutocloseable extends DefaultTopologyReference implements AutoCloseable {
53                         public TopologyReferenceAutocloseable(final InstanceIdentifier<Topology> instanceIdentifier) {
54                                 super(instanceIdentifier);
55                         }
56
57                         @Override
58                         public void close() throws Exception {
59                                 try {
60                                         r.close();
61                                 } finally {
62                                         b.close();
63                                 }
64                         }
65                 }
66
67                 return new TopologyReferenceAutocloseable(b.getInstanceIdentifier());
68         }
69 }