added implementation of Identifier and Identifiable from yangtools.concepts
[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 import org.opendaylight.controller.config.api.ModuleIdentifier;
16
17 import com.google.common.collect.Sets;
18
19 /**
20 *
21 */
22 public final class LogbackModule
23         extends
24         org.opendaylight.controller.config.yang.logback.config.AbstractLogbackModule {
25
26     public LogbackModule(
27             org.opendaylight.controller.config.api.ModuleIdentifier name,
28             org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
29         super(name, dependencyResolver);
30     }
31
32     public LogbackModule(
33             org.opendaylight.controller.config.api.ModuleIdentifier name,
34             org.opendaylight.controller.config.api.DependencyResolver dependencyResolver,
35             org.opendaylight.controller.config.yang.logback.config.AbstractLogbackModule oldModule,
36             java.lang.AutoCloseable oldInstance) {
37         super(name, dependencyResolver, oldModule, oldInstance);
38     }
39
40     @Override
41     public void validate() {
42         super.validate();
43         Set<String> appenderNames = Sets.newHashSet();
44         validateRollingObjects(appenderNames);
45         validateConsoleObjects(appenderNames);
46         validateLoggersObjects(appenderNames);
47     }
48
49     private void validateLoggersObjects(Set<String> appenderNames) {
50         JmxAttributeValidationException.checkNotNull(getLoggerTO(),
51                 loggersJmxAttribute);
52
53         for (LoggerTO loggerToValidate : getLoggerTO()) {
54             JmxAttributeValidationException.checkNotNull(
55                     loggerToValidate.getLoggerName(), "LoggerName is null",
56                     loggersJmxAttribute);
57             JmxAttributeValidationException.checkNotNull(
58                     loggerToValidate.getLevel(), "Level is null",
59                     loggersJmxAttribute);
60             JmxAttributeValidationException.checkCondition(!loggerToValidate
61                     .getLoggerName().isEmpty(), "LoggerName needs to be set",
62                     loggersJmxAttribute);
63             JmxAttributeValidationException.checkCondition(!loggerToValidate
64                     .getLevel().isEmpty(), "Level needs to be set",
65                     loggersJmxAttribute);
66
67             for (String appenderName : loggerToValidate.getAppenders()) {
68                 JmxAttributeValidationException
69                         .checkCondition(
70                                 appenderNames.contains(appenderName),
71                                 "Appender "
72                                         + appenderName
73                                         + " referenced by logger "
74                                         + loggerToValidate.getLoggerName()
75                                         + " not present in configuration, present appenders: "
76                                         + appenderNames, loggersJmxAttribute);
77             }
78
79         }
80     }
81
82     private void validateConsoleObjects(Set<String> appenderNames) {
83
84         JmxAttributeValidationException.checkNotNull(getConsoleAppenderTO(),
85                 consoleAppendersJmxAttribute);
86         for (ConsoleAppenderTO object : getConsoleAppenderTO()) {
87             JmxAttributeValidationException.checkNotNull(
88                     object.getEncoderPattern(), "EncoderPattern is null",
89                     consoleAppendersJmxAttribute);
90
91             validateAppenderName(appenderNames, object.getName(),
92                     consoleAppendersJmxAttribute);
93
94             JmxAttributeValidationException.checkNotNull(
95                     object.getThresholdFilter(), "Filterlevel is null",
96                     consoleAppendersJmxAttribute);
97         }
98     }
99
100     private void validateRollingObjects(Set<String> appenderNames) {
101
102         JmxAttributeValidationException.checkNotNull(getRollingFileAppenderTO(),
103                 rollingAppendersJmxAttribute);
104         for (RollingFileAppenderTO object : getRollingFileAppenderTO()) {
105             JmxAttributeValidationException.checkNotNull(
106                     object.getEncoderPattern(), "EncoderPattern is null",
107                     rollingAppendersJmxAttribute);
108
109             validateAppenderName(appenderNames, object.getName(),
110                     rollingAppendersJmxAttribute);
111
112             JmxAttributeValidationException.checkNotNull(object.getFileName(),
113                     "FileName is null", rollingAppendersJmxAttribute);
114             JmxAttributeValidationException.checkNotNull(
115                     object.getMaxFileSize(), "MaxFileSize is null",
116                     rollingAppendersJmxAttribute);
117             JmxAttributeValidationException.checkNotNull(object.getMinIndex(),
118                     "MinIndex is null", rollingAppendersJmxAttribute);
119             JmxAttributeValidationException.checkNotNull(object.getMaxIndex(),
120                     "MaxIndex is null", rollingAppendersJmxAttribute);
121             JmxAttributeValidationException.checkCondition(!object
122                     .getEncoderPattern().isEmpty(),
123                     "EncoderPattern needs to be set",
124                     rollingAppendersJmxAttribute);
125             JmxAttributeValidationException.checkCondition(!object
126                     .getFileName().isEmpty(), "FileName needs to be set",
127                     rollingAppendersJmxAttribute);
128
129         }
130     }
131
132     private void validateAppenderName(Set<String> appenderNames,
133             String appenderName, JmxAttribute jmxAttribute) {
134         JmxAttributeValidationException.checkNotNull(appenderName,
135                 "Name is null", jmxAttribute);
136         JmxAttributeValidationException.checkCondition(
137                 appenderNames.contains(appenderName) == false,
138                 "Duplicate appender name " + appenderName, jmxAttribute);
139         appenderNames.add(appenderName);
140         JmxAttributeValidationException.checkCondition(!appenderName.isEmpty(),
141                 "Name needs to be set", jmxAttribute);
142     }
143
144     @Override
145     public java.lang.AutoCloseable createInstance() {
146         ContextSetterImpl setter = new ContextSetterImpl(
147                 getRootRuntimeBeanRegistratorWrapper());
148
149         setter.updateContext(this);
150
151         return setter;
152     }
153
154 }