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 extends org.opendaylight.controller.config.yang.logback.config.AbstractLogbackModule {
24 public LogbackModule(org.opendaylight.controller.config.api.ModuleIdentifier name,
25 org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
26 super(name, dependencyResolver);
29 public LogbackModule(org.opendaylight.controller.config.api.ModuleIdentifier name,
30 org.opendaylight.controller.config.api.DependencyResolver dependencyResolver,
31 org.opendaylight.controller.config.yang.logback.config.AbstractLogbackModule oldModule,
32 java.lang.AutoCloseable oldInstance) {
33 super(name, dependencyResolver, oldModule, oldInstance);
37 public void validate() {
39 Set<String> appenderNames = Sets.newHashSet();
40 validateRollingObjects(appenderNames);
41 validateConsoleObjects(appenderNames);
42 validateFileObjects(appenderNames);
43 validateLoggersObjects(appenderNames);
46 private void validateLoggersObjects(Set<String> appenderNames) {
47 JmxAttributeValidationException.checkNotNull(getLoggerTO(), loggersJmxAttribute);
49 for (LoggerTO loggerToValidate : getLoggerTO()) {
50 JmxAttributeValidationException.checkNotNull(loggerToValidate.getLoggerName(), "LoggerName is null",
52 JmxAttributeValidationException.checkNotNull(loggerToValidate.getLevel(), "Level is null",
54 JmxAttributeValidationException.checkCondition(!loggerToValidate.getLoggerName().isEmpty(),
55 "LoggerName needs to be set", loggersJmxAttribute);
56 JmxAttributeValidationException.checkCondition(!loggerToValidate.getLevel().isEmpty(),
57 "Level needs to be set", loggersJmxAttribute);
59 for (String appenderName : loggerToValidate.getAppenders()) {
60 JmxAttributeValidationException.checkCondition(appenderNames.contains(appenderName), "Appender "
61 + appenderName + " referenced by logger " + loggerToValidate.getLoggerName()
62 + " 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);