2 * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
12 * Generated by: org.opendaylight.controller.config.yangjmxgenerator.plugin.JMXGenerator
13 * Generated at: Wed Jul 17 15:26:45 CEST 2013
15 * Do not modifiy this file unless it is present under src/main directory
17 package org.opendaylight.controller.config.yang.logback.config;
19 import com.google.common.collect.Sets;
21 import org.opendaylight.controller.config.api.JmxAttribute;
22 import org.opendaylight.controller.config.api.JmxAttributeValidationException;
27 public final class LogbackModule extends org.opendaylight.controller.config.yang.logback.config.AbstractLogbackModule {
29 public LogbackModule(org.opendaylight.controller.config.api.ModuleIdentifier name,
30 org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
31 super(name, dependencyResolver);
34 public LogbackModule(org.opendaylight.controller.config.api.ModuleIdentifier name,
35 org.opendaylight.controller.config.api.DependencyResolver dependencyResolver,
36 org.opendaylight.controller.config.yang.logback.config.AbstractLogbackModule oldModule,
37 java.lang.AutoCloseable oldInstance) {
38 super(name, dependencyResolver, oldModule, oldInstance);
42 public void validate() {
44 Set<String> appenderNames = Sets.newHashSet();
45 validateRollingObjects(appenderNames);
46 validateConsoleObjects(appenderNames);
47 validateFileObjects(appenderNames);
48 validateLoggersObjects(appenderNames);
51 private void validateLoggersObjects(Set<String> appenderNames) {
52 JmxAttributeValidationException.checkNotNull(getLoggerTO(), loggersJmxAttribute);
54 for (LoggerTO loggerToValidate : getLoggerTO()) {
55 JmxAttributeValidationException.checkNotNull(loggerToValidate.getLoggerName(), "LoggerName is null",
57 JmxAttributeValidationException.checkNotNull(loggerToValidate.getLevel(), "Level is null",
59 JmxAttributeValidationException.checkCondition(!loggerToValidate.getLoggerName().isEmpty(),
60 "LoggerName needs to be set", loggersJmxAttribute);
61 JmxAttributeValidationException.checkCondition(!loggerToValidate.getLevel().isEmpty(),
62 "Level needs to be set", loggersJmxAttribute);
63 if (loggerToValidate.getAppenders() != null) {
64 for (String appenderName : loggerToValidate.getAppenders()) {
65 JmxAttributeValidationException.checkCondition(appenderNames.contains(appenderName), "Appender "
66 + appenderName + " referenced by logger " + loggerToValidate.getLoggerName()
67 + " not present in configuration, present appenders: " + appenderNames, loggersJmxAttribute);
74 private void validateConsoleObjects(Set<String> appenderNames) {
76 JmxAttributeValidationException.checkNotNull(getConsoleAppenderTO(), consoleAppendersJmxAttribute);
77 for (ConsoleAppenderTO object : getConsoleAppenderTO()) {
78 JmxAttributeValidationException.checkNotNull(object.getEncoderPattern(), "EncoderPattern is null",
79 consoleAppendersJmxAttribute);
81 validateAppenderName(appenderNames, object.getName(), consoleAppendersJmxAttribute);
83 JmxAttributeValidationException.checkNotNull(object.getThresholdFilter(), "Filterlevel is null",
84 consoleAppendersJmxAttribute);
88 private void validateFileObjects(Set<String> appenderNames) {
89 JmxAttributeValidationException.checkNotNull(getFileAppenderTO(), fileAppendersJmxAttribute);
90 for (FileAppenderTO object : getFileAppenderTO()) {
91 JmxAttributeValidationException.checkNotNull(object.getEncoderPattern(), "EncoderPattern is null",
92 fileAppendersJmxAttribute);
94 validateAppenderName(appenderNames, object.getName(), fileAppendersJmxAttribute);
96 JmxAttributeValidationException.checkNotNull(object.getFileName(), "FileName is null",
97 fileAppendersJmxAttribute);
98 JmxAttributeValidationException.checkCondition(!object.getEncoderPattern().isEmpty(),
99 "EncoderPattern needs to be set", fileAppendersJmxAttribute);
100 JmxAttributeValidationException.checkCondition(!object.getFileName().isEmpty(), "FileName needs to be set",
101 fileAppendersJmxAttribute);
106 private void validateRollingObjects(Set<String> appenderNames) {
108 JmxAttributeValidationException.checkNotNull(getRollingFileAppenderTO(), rollingAppendersJmxAttribute);
109 for (RollingFileAppenderTO object : getRollingFileAppenderTO()) {
110 JmxAttributeValidationException.checkNotNull(object.getEncoderPattern(), "EncoderPattern is null",
111 rollingAppendersJmxAttribute);
113 validateAppenderName(appenderNames, object.getName(), rollingAppendersJmxAttribute);
115 JmxAttributeValidationException.checkNotNull(object.getFileName(), "FileName is null",
116 rollingAppendersJmxAttribute);
118 JmxAttributeValidationException.checkNotNull(object.getFileNamePattern(), "FileNamePattern is null",
119 rollingAppendersJmxAttribute);
120 JmxAttributeValidationException.checkNotNull(object.getRollingPolicyType(), "RollingPolicyType is null",
121 rollingAppendersJmxAttribute);
122 JmxAttributeValidationException.checkCondition(!object.getFileNamePattern().isEmpty(),
123 "FileNamePattern is not set", rollingAppendersJmxAttribute);
124 JmxAttributeValidationException.checkCondition(!object.getRollingPolicyType().isEmpty(),
125 "RollingPolicyType is not set", rollingAppendersJmxAttribute);
126 JmxAttributeValidationException.checkCondition(
127 (object.getRollingPolicyType().equals("FixedWindowRollingPolicy") || object.getRollingPolicyType()
128 .equals("TimeBasedRollingPolicy")), object.getRollingPolicyType()
129 + " RollingPolicyType is not supported", rollingAppendersJmxAttribute);
131 if (object.getRollingPolicyType().equals("FixedWindowRollingPolicy")) {
132 JmxAttributeValidationException.checkNotNull(object.getMinIndex(), "MinIndex is null",
133 rollingAppendersJmxAttribute);
134 JmxAttributeValidationException.checkNotNull(object.getMaxIndex(), "MaxIndex is null",
135 rollingAppendersJmxAttribute);
136 } else if (object.getRollingPolicyType().equals("TimeBasedRollingPolicy")) {
137 JmxAttributeValidationException.checkNotNull(object.getMaxHistory(), "MaxHistory is null",
138 rollingAppendersJmxAttribute);
140 JmxAttributeValidationException.checkNotNull(object.getMaxFileSize(), "MaxFileSize is null",
141 rollingAppendersJmxAttribute);
142 JmxAttributeValidationException.checkCondition(!object.getEncoderPattern().isEmpty(),
143 "EncoderPattern needs to be set", rollingAppendersJmxAttribute);
144 JmxAttributeValidationException.checkCondition(!object.getFileName().isEmpty(), "FileName needs to be set",
145 rollingAppendersJmxAttribute);
150 private void validateAppenderName(Set<String> appenderNames, String appenderName, JmxAttribute jmxAttribute) {
151 JmxAttributeValidationException.checkNotNull(appenderName, "Name is null", jmxAttribute);
152 JmxAttributeValidationException.checkCondition(appenderNames.contains(appenderName) == false,
153 "Duplicate appender name " + appenderName, jmxAttribute);
154 appenderNames.add(appenderName);
155 JmxAttributeValidationException.checkCondition(!appenderName.isEmpty(), "Name needs to be set", jmxAttribute);
159 public java.lang.AutoCloseable createInstance() {
160 ContextSetterImpl setter = new ContextSetterImpl(getRootRuntimeBeanRegistratorWrapper());
162 setter.updateContext(this);