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);
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);
67 private void validateConsoleObjects(Set<String> appenderNames) {
69 JmxAttributeValidationException.checkNotNull(getConsoleAppenderTO(), consoleAppendersJmxAttribute);
70 for (ConsoleAppenderTO object : getConsoleAppenderTO()) {
71 JmxAttributeValidationException.checkNotNull(object.getEncoderPattern(), "EncoderPattern is null",
72 consoleAppendersJmxAttribute);
74 validateAppenderName(appenderNames, object.getName(), consoleAppendersJmxAttribute);
76 JmxAttributeValidationException.checkNotNull(object.getThresholdFilter(), "Filterlevel is null",
77 consoleAppendersJmxAttribute);
81 private void validateFileObjects(Set<String> appenderNames) {
82 JmxAttributeValidationException.checkNotNull(getFileAppenderTO(), fileAppendersJmxAttribute);
83 for (FileAppenderTO object : getFileAppenderTO()) {
84 JmxAttributeValidationException.checkNotNull(object.getEncoderPattern(), "EncoderPattern is null",
85 fileAppendersJmxAttribute);
87 validateAppenderName(appenderNames, object.getName(), fileAppendersJmxAttribute);
89 JmxAttributeValidationException.checkNotNull(object.getFileName(), "FileName is null",
90 fileAppendersJmxAttribute);
91 JmxAttributeValidationException.checkCondition(!object.getEncoderPattern().isEmpty(),
92 "EncoderPattern needs to be set", fileAppendersJmxAttribute);
93 JmxAttributeValidationException.checkCondition(!object.getFileName().isEmpty(), "FileName needs to be set",
94 fileAppendersJmxAttribute);
99 private void validateRollingObjects(Set<String> appenderNames) {
101 JmxAttributeValidationException.checkNotNull(getRollingFileAppenderTO(), rollingAppendersJmxAttribute);
102 for (RollingFileAppenderTO object : getRollingFileAppenderTO()) {
103 JmxAttributeValidationException.checkNotNull(object.getEncoderPattern(), "EncoderPattern is null",
104 rollingAppendersJmxAttribute);
106 validateAppenderName(appenderNames, object.getName(), rollingAppendersJmxAttribute);
108 JmxAttributeValidationException.checkNotNull(object.getFileName(), "FileName is null",
109 rollingAppendersJmxAttribute);
111 JmxAttributeValidationException.checkNotNull(object.getFileNamePattern(), "FileNamePattern is null",
112 rollingAppendersJmxAttribute);
113 JmxAttributeValidationException.checkNotNull(object.getRollingPolicyType(), "RollingPolicyType is null",
114 rollingAppendersJmxAttribute);
115 JmxAttributeValidationException.checkCondition(!object.getFileNamePattern().isEmpty(),
116 "FileNamePattern is not set", rollingAppendersJmxAttribute);
117 JmxAttributeValidationException.checkCondition(!object.getRollingPolicyType().isEmpty(),
118 "RollingPolicyType is not set", rollingAppendersJmxAttribute);
119 JmxAttributeValidationException.checkCondition(
120 (object.getRollingPolicyType().equals("FixedWindowRollingPolicy") || object.getRollingPolicyType()
121 .equals("TimeBasedRollingPolicy")), object.getRollingPolicyType()
122 + " RollingPolicyType is not supported", rollingAppendersJmxAttribute);
124 if (object.getRollingPolicyType().equals("FixedWindowRollingPolicy")) {
125 JmxAttributeValidationException.checkNotNull(object.getMinIndex(), "MinIndex is null",
126 rollingAppendersJmxAttribute);
127 JmxAttributeValidationException.checkNotNull(object.getMaxIndex(), "MaxIndex is null",
128 rollingAppendersJmxAttribute);
129 } else if (object.getRollingPolicyType().equals("TimeBasedRollingPolicy")) {
130 JmxAttributeValidationException.checkNotNull(object.getMaxHistory(), "MaxHistory is null",
131 rollingAppendersJmxAttribute);
133 JmxAttributeValidationException.checkNotNull(object.getMaxFileSize(), "MaxFileSize is null",
134 rollingAppendersJmxAttribute);
135 JmxAttributeValidationException.checkCondition(!object.getEncoderPattern().isEmpty(),
136 "EncoderPattern needs to be set", rollingAppendersJmxAttribute);
137 JmxAttributeValidationException.checkCondition(!object.getFileName().isEmpty(), "FileName needs to be set",
138 rollingAppendersJmxAttribute);
143 private void validateAppenderName(Set<String> appenderNames, String appenderName, JmxAttribute jmxAttribute) {
144 JmxAttributeValidationException.checkNotNull(appenderName, "Name is null", jmxAttribute);
145 JmxAttributeValidationException.checkCondition(appenderNames.contains(appenderName) == false,
146 "Duplicate appender name " + appenderName, jmxAttribute);
147 appenderNames.add(appenderName);
148 JmxAttributeValidationException.checkCondition(!appenderName.isEmpty(), "Name needs to be set", jmxAttribute);
152 public java.lang.AutoCloseable createInstance() {
153 ContextSetterImpl setter = new ContextSetterImpl(getRootRuntimeBeanRegistratorWrapper());
155 setter.updateContext(this);