Merge "Add configuration for extensions"
[bgpcep.git] / pcep / impl-config / src / main / java / org / opendaylight / controller / config / yang / pcep / impl / PCEPDispatcherImplModule.java
1 /**
2  * Generated file
3
4  * Generated from: yang module name: pcep-impl  yang module local name: pcep-dispatcher-impl
5  * Generated by: org.opendaylight.controller.config.yangjmxgenerator.plugin.JMXGenerator
6  * Generated at: Wed Nov 06 13:16:39 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.pcep.impl;
11
12 import io.netty.util.HashedWheelTimer;
13 import io.netty.util.Timer;
14
15 import org.opendaylight.controller.config.api.JmxAttributeValidationException;
16 import org.opendaylight.protocol.pcep.impl.DefaultPCEPSessionNegotiatorFactory;
17 import org.opendaylight.protocol.pcep.impl.PCEPDispatcherImpl;
18 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.open.object.Open;
19
20 /**
21  *
22  */
23 public final class PCEPDispatcherImplModule
24 extends
25 org.opendaylight.controller.config.yang.pcep.impl.AbstractPCEPDispatcherImplModule {
26
27         public PCEPDispatcherImplModule(
28                         final org.opendaylight.controller.config.api.ModuleIdentifier name,
29                         final org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
30                 super(name, dependencyResolver);
31         }
32
33         public PCEPDispatcherImplModule(
34                         final org.opendaylight.controller.config.api.ModuleIdentifier name,
35                         final org.opendaylight.controller.config.api.DependencyResolver dependencyResolver,
36                         final PCEPDispatcherImplModule oldModule,
37                         final java.lang.AutoCloseable oldInstance) {
38                 super(name, dependencyResolver, oldModule, oldInstance);
39         }
40
41         @Override
42         public void validate() {
43                 super.validate();
44                 JmxAttributeValidationException.checkNotNull(getMaxUnknownMessages(),
45                                 "value is not set.", this.maxUnknownMessagesJmxAttribute);
46                 JmxAttributeValidationException.checkCondition(
47                                 getMaxUnknownMessages() > 0, "Parameter 'maxUnknownMessages' "
48                                                 + "must be greater than 0",
49                                                 this.maxUnknownMessagesJmxAttribute);
50         }
51
52         @Override
53         public java.lang.AutoCloseable createInstance() {
54                 Timer timer = new HashedWheelTimer();
55                 Open localPrefs = getPcepSessionProposalFactoryDependency()
56                                 .getSessionProposal(null, -1);
57                 DefaultPCEPSessionNegotiatorFactory negFactory = new DefaultPCEPSessionNegotiatorFactory(
58                                 timer, localPrefs, getMaxUnknownMessages());
59
60                 final PCEPDispatcherImpl instance = new PCEPDispatcherImpl(
61                                 getExtensionsDependency().getMessageHandlerRegistry(),
62                                 negFactory, getBossGroupDependency(), getWorkerGroupDependency());
63                 return instance;
64         }
65 }