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;
16 import com.google.common.collect.Sets;
21 public final class LogbackModule
23 org.opendaylight.controller.config.yang.logback.config.AbstractLogbackModule {
26 org.opendaylight.controller.config.api.ModuleIdentifier name,
27 org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
28 super(name, dependencyResolver);
32 org.opendaylight.controller.config.api.ModuleIdentifier name,
33 org.opendaylight.controller.config.api.DependencyResolver dependencyResolver,
34 org.opendaylight.controller.config.yang.logback.config.AbstractLogbackModule oldModule,
35 java.lang.AutoCloseable oldInstance) {
36 super(name, dependencyResolver, oldModule, oldInstance);
40 public void validate() {
42 Set<String> appenderNames = Sets.newHashSet();
43 validateRollingObjects(appenderNames);
44 validateConsoleObjects(appenderNames);
45 validateLoggersObjects(appenderNames);
48 private void validateLoggersObjects(Set<String> appenderNames) {
49 JmxAttributeValidationException.checkNotNull(getLoggerTO(),
52 for (LoggerTO loggerToValidate : getLoggerTO()) {
53 JmxAttributeValidationException.checkNotNull(
54 loggerToValidate.getLoggerName(), "LoggerName is null",
56 JmxAttributeValidationException.checkNotNull(
57 loggerToValidate.getLevel(), "Level is null",
59 JmxAttributeValidationException.checkCondition(!loggerToValidate
60 .getLoggerName().isEmpty(), "LoggerName needs to be set",
62 JmxAttributeValidationException.checkCondition(!loggerToValidate
63 .getLevel().isEmpty(), "Level needs to be set",
66 for (String appenderName : loggerToValidate.getAppenders()) {
67 JmxAttributeValidationException
69 appenderNames.contains(appenderName),
72 + " referenced by logger "
73 + loggerToValidate.getLoggerName()
74 + " not present in configuration, present appenders: "
75 + appenderNames, loggersJmxAttribute);
81 private void validateConsoleObjects(Set<String> appenderNames) {
83 JmxAttributeValidationException.checkNotNull(getConsoleAppenderTO(),
84 consoleAppendersJmxAttribute);
85 for (ConsoleAppenderTO object : getConsoleAppenderTO()) {
86 JmxAttributeValidationException.checkNotNull(
87 object.getEncoderPattern(), "EncoderPattern is null",
88 consoleAppendersJmxAttribute);
90 validateAppenderName(appenderNames, object.getName(),
91 consoleAppendersJmxAttribute);
93 JmxAttributeValidationException.checkNotNull(
94 object.getThresholdFilter(), "Filterlevel is null",
95 consoleAppendersJmxAttribute);
99 private void validateRollingObjects(Set<String> appenderNames) {
101 JmxAttributeValidationException.checkNotNull(getRollingFileAppenderTO(),
102 rollingAppendersJmxAttribute);
103 for (RollingFileAppenderTO object : getRollingFileAppenderTO()) {
104 JmxAttributeValidationException.checkNotNull(
105 object.getEncoderPattern(), "EncoderPattern is null",
106 rollingAppendersJmxAttribute);
108 validateAppenderName(appenderNames, object.getName(),
109 rollingAppendersJmxAttribute);
111 JmxAttributeValidationException.checkNotNull(object.getFileName(),
112 "FileName is null", rollingAppendersJmxAttribute);
113 JmxAttributeValidationException.checkNotNull(
114 object.getMaxFileSize(), "MaxFileSize is null",
115 rollingAppendersJmxAttribute);
116 JmxAttributeValidationException.checkNotNull(object.getMinIndex(),
117 "MinIndex is null", rollingAppendersJmxAttribute);
118 JmxAttributeValidationException.checkNotNull(object.getMaxIndex(),
119 "MaxIndex is null", rollingAppendersJmxAttribute);
120 JmxAttributeValidationException.checkCondition(!object
121 .getEncoderPattern().isEmpty(),
122 "EncoderPattern needs to be set",
123 rollingAppendersJmxAttribute);
124 JmxAttributeValidationException.checkCondition(!object
125 .getFileName().isEmpty(), "FileName needs to be set",
126 rollingAppendersJmxAttribute);
131 private void validateAppenderName(Set<String> appenderNames,
132 String appenderName, JmxAttribute jmxAttribute) {
133 JmxAttributeValidationException.checkNotNull(appenderName,
134 "Name is null", jmxAttribute);
135 JmxAttributeValidationException.checkCondition(
136 appenderNames.contains(appenderName) == false,
137 "Duplicate appender name " + appenderName, jmxAttribute);
138 appenderNames.add(appenderName);
139 JmxAttributeValidationException.checkCondition(!appenderName.isEmpty(),
140 "Name needs to be set", jmxAttribute);
144 public java.lang.AutoCloseable createInstance() {
145 ContextSetterImpl setter = new ContextSetterImpl(
146 getRootRuntimeBeanRegistratorWrapper());
148 setter.updateContext(this);