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;
21 import org.opendaylight.controller.config.api.JmxAttribute;
22 import org.opendaylight.controller.config.api.JmxAttributeValidationException;
24 import com.google.common.collect.Sets;
29 public final class LogbackModule extends org.opendaylight.controller.config.yang.logback.config.AbstractLogbackModule {
31 public LogbackModule(org.opendaylight.controller.config.api.ModuleIdentifier name,
32 org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
33 super(name, dependencyResolver);
36 public LogbackModule(org.opendaylight.controller.config.api.ModuleIdentifier name,
37 org.opendaylight.controller.config.api.DependencyResolver dependencyResolver,
38 org.opendaylight.controller.config.yang.logback.config.AbstractLogbackModule oldModule,
39 java.lang.AutoCloseable oldInstance) {
40 super(name, dependencyResolver, oldModule, oldInstance);
44 public void validate() {
46 Set<String> appenderNames = Sets.newHashSet();
47 validateRollingObjects(appenderNames);
48 validateConsoleObjects(appenderNames);
49 validateFileObjects(appenderNames);
50 validateLoggersObjects(appenderNames);
53 private void validateLoggersObjects(Set<String> appenderNames) {
54 JmxAttributeValidationException.checkNotNull(getLoggerTO(), loggersJmxAttribute);
56 for (LoggerTO loggerToValidate : getLoggerTO()) {
57 JmxAttributeValidationException.checkNotNull(loggerToValidate.getLoggerName(), "LoggerName is null",
59 JmxAttributeValidationException.checkNotNull(loggerToValidate.getLevel(), "Level is null",
61 JmxAttributeValidationException.checkCondition(!loggerToValidate.getLoggerName().isEmpty(),
62 "LoggerName needs to be set", loggersJmxAttribute);
63 JmxAttributeValidationException.checkCondition(!loggerToValidate.getLevel().isEmpty(),
64 "Level needs to be set", loggersJmxAttribute);
65 if (loggerToValidate.getAppenders() != null) {
66 for (String appenderName : loggerToValidate.getAppenders()) {
67 JmxAttributeValidationException.checkCondition(appenderNames.contains(appenderName), "Appender "
68 + appenderName + " referenced by logger " + loggerToValidate.getLoggerName()
69 + " not present in configuration, present appenders: " + appenderNames, loggersJmxAttribute);
76 private void validateConsoleObjects(Set<String> appenderNames) {
78 JmxAttributeValidationException.checkNotNull(getConsoleAppenderTO(), consoleAppendersJmxAttribute);
79 for (ConsoleAppenderTO object : getConsoleAppenderTO()) {
80 JmxAttributeValidationException.checkNotNull(object.getEncoderPattern(), "EncoderPattern is null",
81 consoleAppendersJmxAttribute);
83 validateAppenderName(appenderNames, object.getName(), consoleAppendersJmxAttribute);
85 JmxAttributeValidationException.checkNotNull(object.getThresholdFilter(), "Filterlevel is null",
86 consoleAppendersJmxAttribute);
90 private void validateFileObjects(Set<String> appenderNames) {
91 JmxAttributeValidationException.checkNotNull(getFileAppenderTO(), fileAppendersJmxAttribute);
92 for (FileAppenderTO object : getFileAppenderTO()) {
93 JmxAttributeValidationException.checkNotNull(object.getEncoderPattern(), "EncoderPattern is null",
94 fileAppendersJmxAttribute);
96 validateAppenderName(appenderNames, object.getName(), fileAppendersJmxAttribute);
98 JmxAttributeValidationException.checkNotNull(object.getFileName(), "FileName is null",
99 fileAppendersJmxAttribute);
100 JmxAttributeValidationException.checkCondition(!object.getEncoderPattern().isEmpty(),
101 "EncoderPattern needs to be set", fileAppendersJmxAttribute);
102 JmxAttributeValidationException.checkCondition(!object.getFileName().isEmpty(), "FileName needs to be set",
103 fileAppendersJmxAttribute);
108 private void validateRollingObjects(Set<String> appenderNames) {
110 JmxAttributeValidationException.checkNotNull(getRollingFileAppenderTO(), rollingAppendersJmxAttribute);
111 for (RollingFileAppenderTO object : getRollingFileAppenderTO()) {
112 JmxAttributeValidationException.checkNotNull(object.getEncoderPattern(), "EncoderPattern is null",
113 rollingAppendersJmxAttribute);
115 validateAppenderName(appenderNames, object.getName(), rollingAppendersJmxAttribute);
117 JmxAttributeValidationException.checkNotNull(object.getFileName(), "FileName is null",
118 rollingAppendersJmxAttribute);
120 JmxAttributeValidationException.checkNotNull(object.getFileNamePattern(), "FileNamePattern is null",
121 rollingAppendersJmxAttribute);
122 JmxAttributeValidationException.checkNotNull(object.getRollingPolicyType(), "RollingPolicyType is null",
123 rollingAppendersJmxAttribute);
124 JmxAttributeValidationException.checkCondition(!object.getFileNamePattern().isEmpty(),
125 "FileNamePattern is not set", rollingAppendersJmxAttribute);
126 JmxAttributeValidationException.checkCondition(!object.getRollingPolicyType().isEmpty(),
127 "RollingPolicyType is not set", rollingAppendersJmxAttribute);
128 JmxAttributeValidationException.checkCondition(
129 (object.getRollingPolicyType().equals("FixedWindowRollingPolicy") || object.getRollingPolicyType()
130 .equals("TimeBasedRollingPolicy")), object.getRollingPolicyType()
131 + " RollingPolicyType is not supported", rollingAppendersJmxAttribute);
133 if (object.getRollingPolicyType().equals("FixedWindowRollingPolicy")) {
134 JmxAttributeValidationException.checkNotNull(object.getMinIndex(), "MinIndex is null",
135 rollingAppendersJmxAttribute);
136 JmxAttributeValidationException.checkNotNull(object.getMaxIndex(), "MaxIndex is null",
137 rollingAppendersJmxAttribute);
138 } else if (object.getRollingPolicyType().equals("TimeBasedRollingPolicy")) {
139 JmxAttributeValidationException.checkNotNull(object.getMaxHistory(), "MaxHistory is null",
140 rollingAppendersJmxAttribute);
142 JmxAttributeValidationException.checkNotNull(object.getMaxFileSize(), "MaxFileSize is null",
143 rollingAppendersJmxAttribute);
144 JmxAttributeValidationException.checkCondition(!object.getEncoderPattern().isEmpty(),
145 "EncoderPattern needs to be set", rollingAppendersJmxAttribute);
146 JmxAttributeValidationException.checkCondition(!object.getFileName().isEmpty(), "FileName needs to be set",
147 rollingAppendersJmxAttribute);
152 private void validateAppenderName(Set<String> appenderNames, String appenderName, JmxAttribute jmxAttribute) {
153 JmxAttributeValidationException.checkNotNull(appenderName, "Name is null", jmxAttribute);
154 JmxAttributeValidationException.checkCondition(appenderNames.contains(appenderName) == false,
155 "Duplicate appender name " + appenderName, jmxAttribute);
156 appenderNames.add(appenderName);
157 JmxAttributeValidationException.checkCondition(!appenderName.isEmpty(), "Name needs to be set", jmxAttribute);
161 public java.lang.AutoCloseable createInstance() {
162 ContextSetterImpl setter = new ContextSetterImpl(getRootRuntimeBeanRegistratorWrapper());
164 setter.updateContext(this);