4 * Generated by: org.opendaylight.controller.config.yangjmxgenerator.plugin.JMXGenerator
5 * Generated at: Wed Jul 17 15:26:45 CEST 2013
7 * Do not modifiy this file unless it is present under src/main directory
9 package org.opendaylight.controller.config.yang.logback.config;
13 import org.opendaylight.controller.config.api.JmxAttribute;
14 import org.opendaylight.controller.config.api.JmxAttributeValidationException;
15 import org.opendaylight.controller.config.api.ModuleIdentifier;
17 import com.google.common.collect.Sets;
22 public final class LogbackModule
24 org.opendaylight.controller.config.yang.logback.config.AbstractLogbackModule {
27 org.opendaylight.controller.config.api.ModuleIdentifier name,
28 org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
29 super(name, dependencyResolver);
33 org.opendaylight.controller.config.api.ModuleIdentifier name,
34 org.opendaylight.controller.config.api.DependencyResolver dependencyResolver,
35 org.opendaylight.controller.config.yang.logback.config.AbstractLogbackModule oldModule,
36 java.lang.AutoCloseable oldInstance) {
37 super(name, dependencyResolver, oldModule, oldInstance);
41 public void validate() {
43 Set<String> appenderNames = Sets.newHashSet();
44 validateRollingObjects(appenderNames);
45 validateConsoleObjects(appenderNames);
46 validateLoggersObjects(appenderNames);
49 private void validateLoggersObjects(Set<String> appenderNames) {
50 JmxAttributeValidationException.checkNotNull(getLoggerTO(),
53 for (LoggerTO loggerToValidate : getLoggerTO()) {
54 JmxAttributeValidationException.checkNotNull(
55 loggerToValidate.getLoggerName(), "LoggerName is null",
57 JmxAttributeValidationException.checkNotNull(
58 loggerToValidate.getLevel(), "Level is null",
60 JmxAttributeValidationException.checkCondition(!loggerToValidate
61 .getLoggerName().isEmpty(), "LoggerName needs to be set",
63 JmxAttributeValidationException.checkCondition(!loggerToValidate
64 .getLevel().isEmpty(), "Level needs to be set",
67 for (String appenderName : loggerToValidate.getAppenders()) {
68 JmxAttributeValidationException
70 appenderNames.contains(appenderName),
73 + " referenced by logger "
74 + loggerToValidate.getLoggerName()
75 + " not present in configuration, present appenders: "
76 + appenderNames, loggersJmxAttribute);
82 private void validateConsoleObjects(Set<String> appenderNames) {
84 JmxAttributeValidationException.checkNotNull(getConsoleAppenderTO(),
85 consoleAppendersJmxAttribute);
86 for (ConsoleAppenderTO object : getConsoleAppenderTO()) {
87 JmxAttributeValidationException.checkNotNull(
88 object.getEncoderPattern(), "EncoderPattern is null",
89 consoleAppendersJmxAttribute);
91 validateAppenderName(appenderNames, object.getName(),
92 consoleAppendersJmxAttribute);
94 JmxAttributeValidationException.checkNotNull(
95 object.getThresholdFilter(), "Filterlevel is null",
96 consoleAppendersJmxAttribute);
100 private void validateRollingObjects(Set<String> appenderNames) {
102 JmxAttributeValidationException.checkNotNull(getRollingFileAppenderTO(),
103 rollingAppendersJmxAttribute);
104 for (RollingFileAppenderTO object : getRollingFileAppenderTO()) {
105 JmxAttributeValidationException.checkNotNull(
106 object.getEncoderPattern(), "EncoderPattern is null",
107 rollingAppendersJmxAttribute);
109 validateAppenderName(appenderNames, object.getName(),
110 rollingAppendersJmxAttribute);
112 JmxAttributeValidationException.checkNotNull(object.getFileName(),
113 "FileName is null", rollingAppendersJmxAttribute);
114 JmxAttributeValidationException.checkNotNull(
115 object.getMaxFileSize(), "MaxFileSize is null",
116 rollingAppendersJmxAttribute);
117 JmxAttributeValidationException.checkNotNull(object.getMinIndex(),
118 "MinIndex is null", rollingAppendersJmxAttribute);
119 JmxAttributeValidationException.checkNotNull(object.getMaxIndex(),
120 "MaxIndex is null", rollingAppendersJmxAttribute);
121 JmxAttributeValidationException.checkCondition(!object
122 .getEncoderPattern().isEmpty(),
123 "EncoderPattern needs to be set",
124 rollingAppendersJmxAttribute);
125 JmxAttributeValidationException.checkCondition(!object
126 .getFileName().isEmpty(), "FileName needs to be set",
127 rollingAppendersJmxAttribute);
132 private void validateAppenderName(Set<String> appenderNames,
133 String appenderName, JmxAttribute jmxAttribute) {
134 JmxAttributeValidationException.checkNotNull(appenderName,
135 "Name is null", jmxAttribute);
136 JmxAttributeValidationException.checkCondition(
137 appenderNames.contains(appenderName) == false,
138 "Duplicate appender name " + appenderName, jmxAttribute);
139 appenderNames.add(appenderName);
140 JmxAttributeValidationException.checkCondition(!appenderName.isEmpty(),
141 "Name needs to be set", jmxAttribute);
145 public java.lang.AutoCloseable createInstance() {
146 ContextSetterImpl setter = new ContextSetterImpl(
147 getRootRuntimeBeanRegistratorWrapper());
149 setter.updateContext(this);