Merge "Choice and case resolving in JSON output"
[controller.git] / opendaylight / config / logback-config / src / main / java / org / opendaylight / controller / config / yang / logback / config / LogbackModule.java
1 /**
2  * Generated file
3
4  * Generated by: org.opendaylight.controller.config.yangjmxgenerator.plugin.JMXGenerator
5  * Generated at: Wed Jul 17 15:26:45 CEST 2013
6  *
7  * Do not modifiy this file unless it is present under src/main directory
8  */
9 package org.opendaylight.controller.config.yang.logback.config;
10
11 import java.util.Set;
12
13 import org.opendaylight.controller.config.api.JmxAttribute;
14 import org.opendaylight.controller.config.api.JmxAttributeValidationException;
15
16 import com.google.common.collect.Sets;
17
18 /**
19 *
20 */
21 public final class LogbackModule extends org.opendaylight.controller.config.yang.logback.config.AbstractLogbackModule {
22
23     public LogbackModule(org.opendaylight.controller.config.api.ModuleIdentifier name,
24             org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
25         super(name, dependencyResolver);
26     }
27
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);
33     }
34
35     @Override
36     public void validate() {
37         super.validate();
38         Set<String> appenderNames = Sets.newHashSet();
39         validateRollingObjects(appenderNames);
40         validateConsoleObjects(appenderNames);
41         validateFileObjects(appenderNames);
42         validateLoggersObjects(appenderNames);
43     }
44
45     private void validateLoggersObjects(Set<String> appenderNames) {
46         JmxAttributeValidationException.checkNotNull(getLoggerTO(), loggersJmxAttribute);
47
48         for (LoggerTO loggerToValidate : getLoggerTO()) {
49             JmxAttributeValidationException.checkNotNull(loggerToValidate.getLoggerName(), "LoggerName is null",
50                     loggersJmxAttribute);
51             JmxAttributeValidationException.checkNotNull(loggerToValidate.getLevel(), "Level is null",
52                     loggersJmxAttribute);
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);
62                 }
63             }
64
65         }
66     }
67
68     private void validateConsoleObjects(Set<String> appenderNames) {
69
70         JmxAttributeValidationException.checkNotNull(getConsoleAppenderTO(), consoleAppendersJmxAttribute);
71         for (ConsoleAppenderTO object : getConsoleAppenderTO()) {
72             JmxAttributeValidationException.checkNotNull(object.getEncoderPattern(), "EncoderPattern is null",
73                     consoleAppendersJmxAttribute);
74
75             validateAppenderName(appenderNames, object.getName(), consoleAppendersJmxAttribute);
76
77             JmxAttributeValidationException.checkNotNull(object.getThresholdFilter(), "Filterlevel is null",
78                     consoleAppendersJmxAttribute);
79         }
80     }
81
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);
87
88             validateAppenderName(appenderNames, object.getName(), fileAppendersJmxAttribute);
89
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);
96
97         }
98     }
99
100     private void validateRollingObjects(Set<String> appenderNames) {
101
102         JmxAttributeValidationException.checkNotNull(getRollingFileAppenderTO(), rollingAppendersJmxAttribute);
103         for (RollingFileAppenderTO object : getRollingFileAppenderTO()) {
104             JmxAttributeValidationException.checkNotNull(object.getEncoderPattern(), "EncoderPattern is null",
105                     rollingAppendersJmxAttribute);
106
107             validateAppenderName(appenderNames, object.getName(), rollingAppendersJmxAttribute);
108
109             JmxAttributeValidationException.checkNotNull(object.getFileName(), "FileName is null",
110                     rollingAppendersJmxAttribute);
111
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);
124
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);
133             }
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);
140
141         }
142     }
143
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);
150     }
151
152     @Override
153     public java.lang.AutoCloseable createInstance() {
154         ContextSetterImpl setter = new ContextSetterImpl(getRootRuntimeBeanRegistratorWrapper());
155
156         setter.updateContext(this);
157
158         return setter;
159     }
160
161 }