X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fconfig%2Flogback-config%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fconfig%2Fyang%2Flogback%2Fconfig%2FLogbackModuleFactory.java;h=bd19d5eecdc6e0e087e947b3eb3324e6a574ff9e;hb=e316a0ef36279a72767703d190f38a39d7d49395;hp=732161d463856d338e379fd4f1be29d14c7b7be8;hpb=6c6c85af56a95fe57389f5ac420876d7ce5cd0e5;p=controller.git diff --git a/opendaylight/config/logback-config/src/main/java/org/opendaylight/controller/config/yang/logback/config/LogbackModuleFactory.java b/opendaylight/config/logback-config/src/main/java/org/opendaylight/controller/config/yang/logback/config/LogbackModuleFactory.java index 732161d463..bd19d5eecd 100644 --- a/opendaylight/config/logback-config/src/main/java/org/opendaylight/controller/config/yang/logback/config/LogbackModuleFactory.java +++ b/opendaylight/config/logback-config/src/main/java/org/opendaylight/controller/config/yang/logback/config/LogbackModuleFactory.java @@ -1,3 +1,11 @@ +/* + * Copyright (c) 2013 Cisco Systems, Inc. and others. All rights reserved. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License v1.0 which accompanies this distribution, + * and is available at http://www.eclipse.org/legal/epl-v10.html + */ + /** * Generated file @@ -8,14 +16,6 @@ */ package org.opendaylight.controller.config.yang.logback.config; -import java.util.*; -import java.util.Map.Entry; - -import org.apache.commons.lang3.StringUtils; -import org.opendaylight.controller.config.api.DependencyResolver; -import org.opendaylight.controller.config.api.ModuleIdentifier; -import org.slf4j.LoggerFactory; - import ch.qos.logback.classic.Logger; import ch.qos.logback.classic.LoggerContext; import ch.qos.logback.classic.encoder.PatternLayoutEncoder; @@ -25,9 +25,23 @@ import ch.qos.logback.core.Appender; import ch.qos.logback.core.rolling.FixedWindowRollingPolicy; import ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy; import ch.qos.logback.core.rolling.TimeBasedRollingPolicy; - import com.google.common.base.Preconditions; import com.google.common.collect.Lists; +import com.google.common.collect.Sets; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Map.Entry; +import java.util.Set; +import org.apache.commons.lang3.StringUtils; +import org.opendaylight.controller.config.api.DependencyResolver; +import org.opendaylight.controller.config.api.DependencyResolverFactory; +import org.opendaylight.controller.config.api.ModuleIdentifier; +import org.osgi.framework.BundleContext; +import org.slf4j.LoggerFactory; /** * @@ -35,14 +49,15 @@ import com.google.common.collect.Lists; public class LogbackModuleFactory extends org.opendaylight.controller.config.yang.logback.config.AbstractLogbackModuleFactory { - private static final String INSTANCE_NAME = "singleton"; + public static final String INSTANCE_NAME = "singleton"; private Map loggersDTOs; private Map rollingDTOs; private Map consoleDTOs; private Map fileDTOs; @Override - public LogbackModule instantiateModule(String instanceName, DependencyResolver dependencyResolver) { + public LogbackModule instantiateModule(final String instanceName, final DependencyResolver dependencyResolver, + final BundleContext bundleContext) { Preconditions.checkArgument(instanceName.equals(INSTANCE_NAME), "There should be just one instance of logback, named " + INSTANCE_NAME); prepareDTOs(); @@ -56,8 +71,8 @@ public class LogbackModuleFactory extends } @Override - public LogbackModule instantiateModule(String instanceName, DependencyResolver dependencyResolver, - LogbackModule oldModule, AutoCloseable oldInstance) { + public LogbackModule instantiateModule(final String instanceName, final DependencyResolver dependencyResolver, + final LogbackModule oldModule, final AutoCloseable oldInstance, final BundleContext bundleContext) { Preconditions.checkArgument(instanceName.equals(INSTANCE_NAME), "There should be just one instance of logback, named " + INSTANCE_NAME); prepareDTOs(); @@ -79,7 +94,7 @@ public class LogbackModuleFactory extends prepareAppendersDTOs(context); } - private void prepareAppendersDTOs(LoggerContext context) { + private void prepareAppendersDTOs(final LoggerContext context) { this.rollingDTOs = new HashMap<>(); this.consoleDTOs = new HashMap<>(); this.fileDTOs = new HashMap<>(); @@ -113,7 +128,7 @@ public class LogbackModuleFactory extends app.setFileNamePattern(rollingPolicy.getFileNamePattern()); app.setRollingPolicyType("FixedWindowRollingPolicy"); } else if (rollingApp.getRollingPolicy() instanceof TimeBasedRollingPolicy) { - TimeBasedRollingPolicy rollingPolicy = (TimeBasedRollingPolicy) rollingApp.getRollingPolicy(); + TimeBasedRollingPolicy rollingPolicy = (TimeBasedRollingPolicy) rollingApp.getRollingPolicy(); app.setRollingPolicyType("TimeBasedRollingPolicy"); app.setFileNamePattern(rollingPolicy.getFileNamePattern()); app.setMaxHistory(rollingPolicy.getMaxHistory()); @@ -148,17 +163,18 @@ public class LogbackModuleFactory extends } } - private Map prepareLoggersDTOs(LoggerContext context) { + private Map prepareLoggersDTOs(final LoggerContext context) { Map DTOs = new HashMap<>(); List appenders = new ArrayList<>(); List loggersToBeAdd = removeUnusableLoggers(context.getLoggerList(), context.getLogger(Logger.ROOT_LOGGER_NAME)); for (org.slf4j.Logger log : loggersToBeAdd) { LoggerTO logger = new LoggerTO(); - if (((Logger) log).getLevel() != null) + if (((Logger) log).getLevel() != null) { logger.setLevel(((Logger) log).getLevel().levelStr); - else + } else { logger.setLevel(((Logger) log).getEffectiveLevel().levelStr); + } logger.setLoggerName(log.getName()); Iterator> iter = ((Logger) log).iteratorForAppenders(); while (iter.hasNext()) { @@ -173,7 +189,7 @@ public class LogbackModuleFactory extends return DTOs; } - private List removeUnusableLoggers(List loggerList, Logger rootLogger) { + private List removeUnusableLoggers(final List loggerList, final Logger rootLogger) { Collections.sort(loggerList, new LoggerComparator()); Map loggersToReturn = new HashMap<>(); @@ -214,4 +230,14 @@ public class LogbackModuleFactory extends return Lists.newArrayList(loggersToReturn.values()); } + @Override + public Set getDefaultModules(final DependencyResolverFactory dependencyResolverFactory, + final BundleContext bundleContext) { + DependencyResolver resolver = dependencyResolverFactory.createDependencyResolver(new ModuleIdentifier( + getImplementationName(), INSTANCE_NAME)); + LogbackModule defaultLogback = instantiateModule(INSTANCE_NAME, resolver, bundleContext); + Set defaultModules = Sets.newHashSet(defaultLogback); + return defaultModules; + } + }