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 extends org.opendaylight.controller.config.yang.logback.config.AbstractLogbackModule {
23 public LogbackModule(org.opendaylight.controller.config.api.ModuleIdentifier name,
24 org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
25 super(name, dependencyResolver);
28 public LogbackModule(org.opendaylight.controller.config.api.ModuleIdentifier name,
29 org.opendaylight.controller.config.api.DependencyResolver dependencyResolver,
30 org.opendaylight.controller.config.yang.logback.config.AbstractLogbackModule oldModule,
31 java.lang.AutoCloseable oldInstance) {
32 super(name, dependencyResolver, oldModule, oldInstance);
36 public void validate() {
38 Set<String> appenderNames = Sets.newHashSet();
39 validateRollingObjects(appenderNames);
40 validateConsoleObjects(appenderNames);
41 validateFileObjects(appenderNames);
42 validateLoggersObjects(appenderNames);
45 private void validateLoggersObjects(Set<String> appenderNames) {
46 JmxAttributeValidationException.checkNotNull(getLoggerTO(), loggersJmxAttribute);
48 for (LoggerTO loggerToValidate : getLoggerTO()) {
49 JmxAttributeValidationException.checkNotNull(loggerToValidate.getLoggerName(), "LoggerName is null",
51 JmxAttributeValidationException.checkNotNull(loggerToValidate.getLevel(), "Level is null",
53 JmxAttributeValidationException.checkCondition(!loggerToValidate.getLoggerName().isEmpty(),
54 "LoggerName needs to be set", loggersJmxAttribute);
55 JmxAttributeValidationException.checkCondition(!loggerToValidate.getLevel().isEmpty(),
56 "Level needs to be set", loggersJmxAttribute);
57 if (loggerToValidate.getAppenders() != null) {
58 for (String appenderName : loggerToValidate.getAppenders()) {
59 JmxAttributeValidationException.checkCondition(appenderNames.contains(appenderName), "Appender "
60 + appenderName + " referenced by logger " + loggerToValidate.getLoggerName()
61 + " not present in configuration, present appenders: " + appenderNames, loggersJmxAttribute);
68 private void validateConsoleObjects(Set<String> appenderNames) {
70 JmxAttributeValidationException.checkNotNull(getConsoleAppenderTO(), consoleAppendersJmxAttribute);
71 for (ConsoleAppenderTO object : getConsoleAppenderTO()) {
72 JmxAttributeValidationException.checkNotNull(object.getEncoderPattern(), "EncoderPattern is null",
73 consoleAppendersJmxAttribute);
75 validateAppenderName(appenderNames, object.getName(), consoleAppendersJmxAttribute);
77 JmxAttributeValidationException.checkNotNull(object.getThresholdFilter(), "Filterlevel is null",
78 consoleAppendersJmxAttribute);
82 private void validateFileObjects(Set<String> appenderNames) {
83 JmxAttributeValidationException.checkNotNull(getFileAppenderTO(), fileAppendersJmxAttribute);
84 for (FileAppenderTO object : getFileAppenderTO()) {
85 JmxAttributeValidationException.checkNotNull(object.getEncoderPattern(), "EncoderPattern is null",
86 fileAppendersJmxAttribute);
88 validateAppenderName(appenderNames, object.getName(), fileAppendersJmxAttribute);
90 JmxAttributeValidationException.checkNotNull(object.getFileName(), "FileName is null",
91 fileAppendersJmxAttribute);
92 JmxAttributeValidationException.checkCondition(!object.getEncoderPattern().isEmpty(),
93 "EncoderPattern needs to be set", fileAppendersJmxAttribute);
94 JmxAttributeValidationException.checkCondition(!object.getFileName().isEmpty(), "FileName needs to be set",
95 fileAppendersJmxAttribute);
100 private void validateRollingObjects(Set<String> appenderNames) {
102 JmxAttributeValidationException.checkNotNull(getRollingFileAppenderTO(), rollingAppendersJmxAttribute);
103 for (RollingFileAppenderTO object : getRollingFileAppenderTO()) {
104 JmxAttributeValidationException.checkNotNull(object.getEncoderPattern(), "EncoderPattern is null",
105 rollingAppendersJmxAttribute);
107 validateAppenderName(appenderNames, object.getName(), rollingAppendersJmxAttribute);
109 JmxAttributeValidationException.checkNotNull(object.getFileName(), "FileName is null",
110 rollingAppendersJmxAttribute);
112 JmxAttributeValidationException.checkNotNull(object.getFileNamePattern(), "FileNamePattern is null",
113 rollingAppendersJmxAttribute);
114 JmxAttributeValidationException.checkNotNull(object.getRollingPolicyType(), "RollingPolicyType is null",
115 rollingAppendersJmxAttribute);
116 JmxAttributeValidationException.checkCondition(!object.getFileNamePattern().isEmpty(),
117 "FileNamePattern is not set", rollingAppendersJmxAttribute);
118 JmxAttributeValidationException.checkCondition(!object.getRollingPolicyType().isEmpty(),
119 "RollingPolicyType is not set", rollingAppendersJmxAttribute);
120 JmxAttributeValidationException.checkCondition(
121 (object.getRollingPolicyType().equals("FixedWindowRollingPolicy") || object.getRollingPolicyType()
122 .equals("TimeBasedRollingPolicy")), object.getRollingPolicyType()
123 + " RollingPolicyType is not supported", rollingAppendersJmxAttribute);
125 if (object.getRollingPolicyType().equals("FixedWindowRollingPolicy")) {
126 JmxAttributeValidationException.checkNotNull(object.getMinIndex(), "MinIndex is null",
127 rollingAppendersJmxAttribute);
128 JmxAttributeValidationException.checkNotNull(object.getMaxIndex(), "MaxIndex is null",
129 rollingAppendersJmxAttribute);
130 } else if (object.getRollingPolicyType().equals("TimeBasedRollingPolicy")) {
131 JmxAttributeValidationException.checkNotNull(object.getMaxHistory(), "MaxHistory is null",
132 rollingAppendersJmxAttribute);
134 JmxAttributeValidationException.checkNotNull(object.getMaxFileSize(), "MaxFileSize is null",
135 rollingAppendersJmxAttribute);
136 JmxAttributeValidationException.checkCondition(!object.getEncoderPattern().isEmpty(),
137 "EncoderPattern needs to be set", rollingAppendersJmxAttribute);
138 JmxAttributeValidationException.checkCondition(!object.getFileName().isEmpty(), "FileName needs to be set",
139 rollingAppendersJmxAttribute);
144 private void validateAppenderName(Set<String> appenderNames, String appenderName, JmxAttribute jmxAttribute) {
145 JmxAttributeValidationException.checkNotNull(appenderName, "Name is null", jmxAttribute);
146 JmxAttributeValidationException.checkCondition(appenderNames.contains(appenderName) == false,
147 "Duplicate appender name " + appenderName, jmxAttribute);
148 appenderNames.add(appenderName);
149 JmxAttributeValidationException.checkCondition(!appenderName.isEmpty(), "Name needs to be set", jmxAttribute);
153 public java.lang.AutoCloseable createInstance() {
154 ContextSetterImpl setter = new ContextSetterImpl(getRootRuntimeBeanRegistratorWrapper());
156 setter.updateContext(this);