BUG-731: JMX attributes are static now
[bgpcep.git] / pcep / impl-config / src / main / java / org / opendaylight / controller / config / yang / pcep / impl / PCEPSessionProposalFactoryImplModule.java
index fc3cc23dfab3bf40f087bcbcc1184f0ea1990db0..b9abdf0e23e66feb871d156f1e26f8028f39a60e 100644 (file)
@@ -1,3 +1,10 @@
+/*
+ * Copyright (c) 2013 Cisco Systems, Inc. and others.  All rights reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v1.0 which accompanies this distribution,
+ * and is available at http://www.eclipse.org/legal/epl-v10.html
+ */
 /**
  * Generated file
 
@@ -13,58 +20,54 @@ import java.net.InetSocketAddress;
 
 import org.opendaylight.controller.config.api.JmxAttributeValidationException;
 import org.opendaylight.protocol.pcep.PCEPSessionProposalFactory;
-import org.opendaylight.protocol.pcep.impl.PCEPSessionProposalFactoryImpl;
+import org.opendaylight.protocol.pcep.impl.BasePCEPSessionProposalFactory;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev131005.open.object.Open;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
-*
-*/
-public final class PCEPSessionProposalFactoryImplModule
-               extends
-               org.opendaylight.controller.config.yang.pcep.impl.AbstractPCEPSessionProposalFactoryImplModule {
+ *
+ */
+public final class PCEPSessionProposalFactoryImplModule extends
+org.opendaylight.controller.config.yang.pcep.impl.AbstractPCEPSessionProposalFactoryImplModule {
+
+       private static final Logger LOG = LoggerFactory.getLogger(PCEPSessionProposalFactoryImplModule.class);
 
-       public PCEPSessionProposalFactoryImplModule(
-                       org.opendaylight.controller.config.api.ModuleIdentifier name,
-                       org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
+       public PCEPSessionProposalFactoryImplModule(final org.opendaylight.controller.config.api.ModuleIdentifier name,
+                       final org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
                super(name, dependencyResolver);
        }
 
-       public PCEPSessionProposalFactoryImplModule(
-                       org.opendaylight.controller.config.api.ModuleIdentifier name,
-                       org.opendaylight.controller.config.api.DependencyResolver dependencyResolver,
-                       PCEPSessionProposalFactoryImplModule oldModule,
-                       java.lang.AutoCloseable oldInstance) {
+       public PCEPSessionProposalFactoryImplModule(final org.opendaylight.controller.config.api.ModuleIdentifier name,
+                       final org.opendaylight.controller.config.api.DependencyResolver dependencyResolver,
+                       final PCEPSessionProposalFactoryImplModule oldModule, final java.lang.AutoCloseable oldInstance) {
                super(name, dependencyResolver, oldModule, oldInstance);
        }
 
        @Override
-       public void validate() {
-               super.validate();
-               JmxAttributeValidationException
-                               .checkCondition(
-                                               getDeadTimerValue() % getKeepAliveTimerValue() != 4,
-                                               "Parameter 'dead timer value' should be 4 times greater than keepAlive timer value.",
-                                               deadTimerValueJmxAttribute);
-               if ((getActive() || getVersioned() || getTimeout() > 0)
-                               && !getStateful())
-                       setStateful(true);
+       public void customValidation() {
+               JmxAttributeValidationException.checkNotNull(getDeadTimerValue(), "value is not set.", deadTimerValueJmxAttribute);
+               JmxAttributeValidationException.checkNotNull(getKeepAliveTimerValue(), "value is not set.", keepAliveTimerValueJmxAttribute);
+               if (getKeepAliveTimerValue() != 0) {
+                       JmxAttributeValidationException.checkCondition(getKeepAliveTimerValue() >= 1, "minimum value is 1.",
+                                       keepAliveTimerValueJmxAttribute);
+                       if (getDeadTimerValue() != 0 && (getDeadTimerValue() / getKeepAliveTimerValue() != 4)) {
+                               LOG.warn("DeadTimerValue should be 4 times greater than KeepAliveTimerValue");
+                       }
+               }
        }
 
        @Override
        public java.lang.AutoCloseable createInstance() {
-               PCEPSessionProposalFactoryImpl inner = new PCEPSessionProposalFactoryImpl(
-                               getDeadTimerValue(), getKeepAliveTimerValue(), getStateful(),
-                               getActive(), getVersioned(), getInstantiated(), getTimeout());
+               final BasePCEPSessionProposalFactory inner = new BasePCEPSessionProposalFactory(getDeadTimerValue(), getKeepAliveTimerValue());
                return new PCEPSessionProposalFactoryCloseable(inner);
        }
 
-       private static final class PCEPSessionProposalFactoryCloseable implements
-                       PCEPSessionProposalFactory, AutoCloseable {
+       private static final class PCEPSessionProposalFactoryCloseable implements PCEPSessionProposalFactory, AutoCloseable {
 
-               private PCEPSessionProposalFactoryImpl inner;
+               private final BasePCEPSessionProposalFactory inner;
 
-               public PCEPSessionProposalFactoryCloseable(
-                               PCEPSessionProposalFactoryImpl inner) {
+               public PCEPSessionProposalFactoryCloseable(final BasePCEPSessionProposalFactory inner) {
                        this.inner = inner;
                }
 
@@ -73,9 +76,8 @@ public final class PCEPSessionProposalFactoryImplModule
                }
 
                @Override
-               public Open getSessionProposal(
-                               InetSocketAddress inetSocketAddress, int i) {
-                       return inner.getSessionProposal(inetSocketAddress, i);
+               public Open getSessionProposal(final InetSocketAddress inetSocketAddress, final int i) {
+                       return this.inner.getSessionProposal(inetSocketAddress, i);
                }
        }
 }