Use final. Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/ce4492f6 Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/ce4492f6 Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/ce4492f6
Branch: refs/heads/master Commit: ce4492f633fb7e54805fd8a2b98cf2bc7c44a725 Parents: 018ca8a Author: ggregory <ggreg...@apache.org> Authored: Fri Jun 3 11:17:55 2016 -0700 Committer: ggregory <ggreg...@apache.org> Committed: Fri Jun 3 11:17:55 2016 -0700 ---------------------------------------------------------------------- .../org/apache/logging/log4j/core/Logger.java | 2 +- .../log4j/core/appender/AbstractManager.java | 2 +- .../log4j/core/appender/SocketAppender.java | 2 +- .../core/appender/mom/kafka/KafkaAppender.java | 226 +++++++------- .../appender/rolling/CronTriggeringPolicy.java | 4 +- .../rolling/DefaultRolloverStrategy.java | 6 +- .../appender/rolling/RollingFileManager.java | 4 +- .../appender/rolling/action/DeleteAction.java | 2 +- .../core/appender/rolling/action/Duration.java | 22 +- .../rolling/action/FileRenameAction.java | 2 +- .../core/appender/rolling/action/IfAll.java | 2 +- .../core/appender/rolling/action/IfAny.java | 172 +++++------ .../core/appender/routing/IdlePurgePolicy.java | 12 +- .../core/appender/routing/RoutingAppender.java | 2 +- ...syncLoggerConfigDefaultExceptionHandler.java | 4 +- .../AsyncLoggerDefaultExceptionHandler.java | 4 +- .../logging/log4j/core/async/DisruptorUtil.java | 2 +- .../log4j/core/async/RingBufferLogEvent.java | 6 +- .../core/config/AbstractConfiguration.java | 8 +- .../log4j/core/config/AppenderControl.java | 2 +- ...AwaitUnconditionallyReliabilityStrategy.java | 2 +- .../log4j/core/config/ConfigurationFactory.java | 8 +- .../core/config/ConfigurationScheduler.java | 14 +- .../log4j/core/config/ConfigurationSource.java | 6 +- .../logging/log4j/core/config/Configurator.java | 8 +- .../core/config/ReliabilityStrategyFactory.java | 140 ++++----- .../config/builder/impl/BuiltConfiguration.java | 6 +- .../composite/CompositeConfiguration.java | 44 +-- .../config/composite/DefaultMergeStrategy.java | 60 ++-- .../core/config/json/JsonConfiguration.java | 2 +- .../PropertiesConfigurationBuilder.java | 30 +- .../PropertiesConfigurationFactory.java | 2 +- .../log4j/core/config/xml/XmlConfiguration.java | 4 +- .../logging/log4j/core/filter/BurstFilter.java | 2 +- .../log4j/core/filter/CompositeFilter.java | 8 +- .../logging/log4j/core/filter/ScriptFilter.java | 16 +- .../logging/log4j/core/filter/TimeFilter.java | 2 +- .../log4j/core/impl/Log4jContextFactory.java | 8 +- .../logging/log4j/core/impl/Log4jLogEvent.java | 2 +- .../log4j/core/impl/MutableLogEvent.java | 4 +- .../logging/log4j/core/layout/GelfLayout.java | 8 +- .../core/layout/MarkerPatternSelector.java | 18 +- .../log4j/core/layout/PatternLayout.java | 4 +- .../core/layout/ScriptPatternSelector.java | 20 +- .../log4j/core/layout/TextEncoderHelper.java | 2 +- .../ExtendedThrowablePatternConverter.java | 2 +- .../core/pattern/MessagePatternConverter.java | 2 +- .../pattern/RootThrowablePatternConverter.java | 2 +- .../VariablesNotEmptyReplacementConverter.java | 2 +- .../logging/log4j/core/script/ScriptFile.java | 10 +- .../log4j/core/script/ScriptManager.java | 12 +- .../logging/log4j/core/script/ScriptRef.java | 4 +- .../logging/log4j/core/util/CronExpression.java | 132 ++++---- .../logging/log4j/core/util/FileUtils.java | 2 +- .../logging/log4j/core/util/JsonUtils.java | 8 +- .../logging/log4j/core/util/StringEncoder.java | 8 +- .../logging/log4j/core/util/WatchManager.java | 12 +- .../core/util/datetime/FixedDateFormat.java | 2 +- .../log4j/core/GcFreeLoggingTestUtil.java | 2 +- .../logging/log4j/core/Log4j1222Test.java | 2 +- .../apache/logging/log4j/core/LogEventTest.java | 4 +- .../apache/logging/log4j/core/LoggerTest.java | 14 +- .../logging/log4j/core/PatternSelectorTest.java | 16 +- .../log4j/core/PropertiesFileConfigTest.java | 2 +- .../AsyncAppenderQueueFullPolicyTest.java | 4 +- .../log4j/core/appender/HangingAppender.java | 6 +- .../log4j/core/appender/SocketAppenderTest.java | 2 +- .../appender/XmlCompleteFileAppenderTest.java | 2 +- .../appender/mom/kafka/KafkaAppenderTest.java | 8 +- .../rolling/RollingAppenderCronTest.java | 10 +- .../RollingAppenderCustomDeleteActionTest.java | 10 +- ...lingAppenderDeleteAccumulatedCount1Test.java | 20 +- ...lingAppenderDeleteAccumulatedCount2Test.java | 20 +- ...ollingAppenderDeleteAccumulatedSizeTest.java | 4 +- .../RollingAppenderDeleteMaxDepthTest.java | 20 +- .../RollingAppenderDeleteNestedTest.java | 20 +- .../RollingAppenderDeleteScriptFri13thTest.java | 8 +- .../RollingAppenderDeleteScriptTest.java | 8 +- ...ollingAppenderNoUnconditionalDeleteTest.java | 4 +- .../rolling/RollingAppenderSizeTest.java | 14 +- .../rolling/action/DeleteActionTest.java | 36 +-- .../rolling/action/DeletingVisitorTest.java | 46 +-- .../appender/rolling/action/DurationTest.java | 298 +++++++++---------- .../action/IfAccumulatedFileCountTest.java | 150 +++++----- .../action/IfAccumulatedFileSizeTest.java | 260 ++++++++-------- .../rolling/action/IfLastModifiedTest.java | 194 ++++++------ .../action/PathSortByModificationTimeTest.java | 20 +- .../rolling/action/ScriptConditionTest.java | 260 ++++++++-------- .../rolling/action/SortingVisitorTest.java | 188 ++++++------ .../routing/RoutingAppenderWithPurgingTest.java | 4 +- .../core/async/AsyncLoggerTestNanoTime.java | 2 +- .../async/AsyncQueueFullPolicyFactoryTest.java | 4 +- .../async/DefaultAsyncQueueFullPolicyTest.java | 4 +- .../DiscardingAsyncQueueFullPolicyTest.java | 22 +- .../core/async/perftest/ResponseTimeTest.java | 22 +- .../core/async/perftest/SimplePerfTest.java | 26 +- .../core/config/AbstractLog4j2_1100Test.java | 136 ++++----- .../config/AppenderControlArraySetTest.java | 12 +- .../core/config/CompositeConfigurationTest.java | 6 +- .../log4j/core/config/TestConfigurator.java | 20 +- .../builder/ConfigurationAssemblerTest.java | 12 +- .../builder/CustomConfigurationFactory.java | 4 +- ...opertiesConfigurationRootLoggerOnlyTest.java | 10 +- .../properties/PropertiesConfigurationTest.java | 10 +- .../properties/RollingFilePropertiesTest.java | 10 +- .../core/filter/AbstractFilterableTest.java | 86 +++--- .../core/filter/AbstractScriptFilterTest.java | 8 +- .../core/impl/Log4jLogEventNanoTimeTest.java | 2 +- .../log4j/core/impl/Log4jLogEventTest.java | 12 +- .../log4j/core/impl/MutableLogEventTest.java | 12 +- .../core/impl/ReusableLogEventFactoryTest.java | 12 +- .../layout/CsvParameterLayoutAllAsyncTest.java | 6 +- .../core/layout/CsvParameterLayoutTest.java | 6 +- .../log4j/core/layout/GelfLayoutTest.java | 2 +- .../layout/PatternLayoutMainMapLookupTest.java | 128 ++++---- .../log4j/core/layout/PatternLayoutTest.java | 8 +- .../log4j/core/layout/PatternSelectorTest.java | 4 +- .../core/layout/StringBuilderEncoderTest.java | 6 +- .../server/UdpSerializedSocketServerTest.java | 2 + .../core/net/ssl/SslConfigurationTest.java | 4 +- .../pattern/EqualsReplacementConverterTest.java | 2 +- .../log4j/core/pattern/PatternParserTest.java | 8 +- .../log4j/core/util/CronExpressionTest.java | 32 +- .../log4j/core/util/WatchManagerTest.java | 16 +- .../apache/logging/log4j/junit/CleanFiles.java | 6 +- .../logging/log4j/junit/LoggerContextRule.java | 2 +- ...MutableLogEventWithReusableParamMsgTest.java | 4 +- .../log4j/test/appender/BlockingAppender.java | 2 +- .../test/appender/EncodingListAppender.java | 8 +- .../log4j/flume/appender/FlumeAppenderTest.java | 2 +- .../nosql/appender/mongodb/MongoDbProvider.java | 4 +- .../message/ParameterFormatterBenchmark.java | 40 +-- ...ractStringLayoutStringEncodingBenchmark.java | 32 +- .../log4j/perf/jmh/CollectionsBenchmark.java | 12 +- .../log4j/perf/jmh/FileAppenderBenchmark.java | 10 +- .../perf/jmh/FileAppenderParamsBenchmark.java | 10 +- .../jmh/Log4j2AppenderComparisonBenchmark.java | 6 +- .../log4j/perf/jmh/LoggerConfigBenchmark.java | 2 +- .../jmh/MemoryHandlerJULLocationBenchmark.java | 2 +- .../perf/jmh/ParameterizedMessageBenchmark.java | 2 +- .../ParameterizedMessageInliningBenchmark.java | 20 +- .../jmh/PatternLayoutComparisonBenchmark.java | 2 +- .../log4j/perf/jmh/StringEncodingBenchmark.java | 30 +- .../perf/jmh/TextEncoderHelperBenchmark.java | 12 +- ...ThreadLocalVsConcurrentHashMapBenchmark.java | 6 +- .../perf/jmh/ThreadLocalVsPoolBenchmark.java | 14 +- .../perf/jmh/ThreadsafeDateFormatBenchmark.java | 4 +- .../log4j/perf/jmh/VarargsBenchmark.java | 6 +- .../logging/log4j/perf/nogc/AbstractLogger.java | 6 +- .../logging/log4j/perf/nogc/ClassicLogger.java | 2 +- .../logging/log4j/perf/nogc/DemoAppender.java | 12 +- .../logging/log4j/perf/nogc/NoGcLayout.java | 16 +- .../logging/log4j/perf/nogc/NoGcLogger.java | 2 +- .../logging/log4j/perf/nogc/NoGcMessage.java | 10 +- .../log4j/perf/nogc/ParameterizedMessage.java | 6 +- .../apache/logging/log4j/perf/nogc/Test.java | 24 +- .../logging/log4j/perf/util/DemoAppender.java | 10 +- .../configuration/CustomConfiguration.java | 2 +- .../logging/log4j/lookup/CustomLookup.java | 8 +- .../logging/log4j/lookup/CustomMapMessage.java | 2 +- .../logging/log4j/lookup/MapMessageLookup.java | 10 +- .../logging/log4j/CustomPropertiesTest.java | 8 +- .../log4j/taglib/Log4jTaglibLoggerContext.java | 4 +- .../logging/slf4j/SLF4JLoggerContext.java | 4 +- .../log4j/web/ServletRequestThreadContext.java | 8 +- 165 files changed, 1895 insertions(+), 1893 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/ce4492f6/log4j-core/src/main/java/org/apache/logging/log4j/core/Logger.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/Logger.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/Logger.java index 99f4207..ef90b40 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/Logger.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/Logger.java @@ -604,7 +604,7 @@ public class Logger extends AbstractLogger implements Supplier<LoggerConfig> { @Override public String toString() { - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); builder.append("PrivateConfig [loggerConfig="); builder.append(loggerConfig); builder.append(", config="); http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/ce4492f6/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/AbstractManager.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/AbstractManager.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/AbstractManager.java index fd15f17..9c67f24 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/AbstractManager.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/AbstractManager.java @@ -151,7 +151,7 @@ public abstract class AbstractManager { } protected void log(final Level level, final String message, final Throwable throwable) { - Message m = LOGGER.getMessageFactory().newMessage("{} {} {}: {}", + final Message m = LOGGER.getMessageFactory().newMessage("{} {} {}: {}", getClass().getSimpleName(), getName(), message, throwable); LOGGER.log(level, m, throwable); } http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/ce4492f6/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/SocketAppender.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/SocketAppender.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/SocketAppender.java index c49ed46..3b610bc 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/SocketAppender.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/SocketAppender.java @@ -204,7 +204,7 @@ public class SocketAppender extends AbstractOutputStreamAppender<AbstractSocketM final String advertise, final Configuration config) { // @formatter:on - boolean isFlush = Booleans.parseBoolean(immediateFlush, true); + final boolean isFlush = Booleans.parseBoolean(immediateFlush, true); final boolean isAdvertise = Boolean.parseBoolean(advertise); final boolean ignoreExceptions = Booleans.parseBoolean(ignore, true); final boolean fail = Booleans.parseBoolean(immediateFail, true); http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/ce4492f6/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/mom/kafka/KafkaAppender.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/mom/kafka/KafkaAppender.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/mom/kafka/KafkaAppender.java index 18f5c52..8619f3d 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/mom/kafka/KafkaAppender.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/mom/kafka/KafkaAppender.java @@ -1,113 +1,113 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache license, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the license for the specific language governing permissions and - * limitations under the license. - */ - -package org.apache.logging.log4j.core.appender.mom.kafka; - -import java.io.Serializable; -import java.nio.charset.StandardCharsets; - -import org.apache.logging.log4j.core.Appender; -import org.apache.logging.log4j.core.Filter; -import org.apache.logging.log4j.core.Layout; -import org.apache.logging.log4j.core.LogEvent; -import org.apache.logging.log4j.core.appender.AbstractAppender; -import org.apache.logging.log4j.core.appender.AppenderLoggingException; -import org.apache.logging.log4j.core.config.Node; -import org.apache.logging.log4j.core.config.Property; -import org.apache.logging.log4j.core.config.plugins.Plugin; -import org.apache.logging.log4j.core.config.plugins.PluginAttribute; -import org.apache.logging.log4j.core.config.plugins.PluginElement; -import org.apache.logging.log4j.core.config.plugins.PluginFactory; -import org.apache.logging.log4j.core.config.plugins.validation.constraints.Required; -import org.apache.logging.log4j.core.layout.SerializedLayout; -import org.apache.logging.log4j.core.util.StringEncoder; - -/** - * Sends log events to an Apache Kafka topic. - */ -@Plugin(name = "Kafka", category = Node.CATEGORY, elementType = Appender.ELEMENT_TYPE, printObject = true) -public final class KafkaAppender extends AbstractAppender { - - @PluginFactory - public static KafkaAppender createAppender( - @PluginElement("Layout") final Layout<? extends Serializable> layout, - @PluginElement("Filter") final Filter filter, - @Required(message = "No name provided for KafkaAppender") @PluginAttribute("name") final String name, - @PluginAttribute(value = "ignoreExceptions", defaultBoolean = true) final boolean ignoreExceptions, - @Required(message = "No topic provided for KafkaAppender") @PluginAttribute("topic") final String topic, - @PluginElement("Properties") final Property[] properties) { - final KafkaManager kafkaManager = new KafkaManager(name, topic, properties); - return new KafkaAppender(name, layout, filter, ignoreExceptions, kafkaManager); - } - - private final KafkaManager manager; - - private KafkaAppender(final String name, final Layout<? extends Serializable> layout, final Filter filter, final boolean ignoreExceptions, final KafkaManager manager) { - super(name, filter, layout, ignoreExceptions); - this.manager = manager; - } - - @Override - public void append(final LogEvent event) { - if (event.getLoggerName().startsWith("org.apache.kafka")) { - LOGGER.warn("Recursive logging from [{}] for appender [{}].", event.getLoggerName(), getName()); - } else { - try { - Layout<? extends Serializable> layout = getLayout(); - byte[] data; - if (layout != null) { - if (layout instanceof SerializedLayout) { - byte[] header = layout.getHeader(); - byte[] body = layout.toByteArray(event); - data = new byte[header.length + body.length]; - System.arraycopy(header, 0, data, 0, header.length); - System.arraycopy(body, 0, data, header.length, body.length); - } else { - data = layout.toByteArray(event); - } - } else { - data = StringEncoder.toBytes(event.getMessage().getFormattedMessage(), StandardCharsets.UTF_8); - } - manager.send(data); - } catch (final Exception e) { - LOGGER.error("Unable to write to Kafka [{}] for appender [{}].", manager.getName(), getName(), e); - throw new AppenderLoggingException("Unable to write to Kafka in appender: " + e.getMessage(), e); - } - } - } - - @Override - public void start() { - super.start(); - manager.startup(); - } - - @Override - public void stop() { - super.stop(); - manager.release(); - } - - @Override - public String toString() { - return "KafkaAppender{" + - "name=" + getName() + - ", state=" + getState() + - ", topic=" + manager.getTopic() + - '}'; - } -} +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache license, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the license for the specific language governing permissions and + * limitations under the license. + */ + +package org.apache.logging.log4j.core.appender.mom.kafka; + +import java.io.Serializable; +import java.nio.charset.StandardCharsets; + +import org.apache.logging.log4j.core.Appender; +import org.apache.logging.log4j.core.Filter; +import org.apache.logging.log4j.core.Layout; +import org.apache.logging.log4j.core.LogEvent; +import org.apache.logging.log4j.core.appender.AbstractAppender; +import org.apache.logging.log4j.core.appender.AppenderLoggingException; +import org.apache.logging.log4j.core.config.Node; +import org.apache.logging.log4j.core.config.Property; +import org.apache.logging.log4j.core.config.plugins.Plugin; +import org.apache.logging.log4j.core.config.plugins.PluginAttribute; +import org.apache.logging.log4j.core.config.plugins.PluginElement; +import org.apache.logging.log4j.core.config.plugins.PluginFactory; +import org.apache.logging.log4j.core.config.plugins.validation.constraints.Required; +import org.apache.logging.log4j.core.layout.SerializedLayout; +import org.apache.logging.log4j.core.util.StringEncoder; + +/** + * Sends log events to an Apache Kafka topic. + */ +@Plugin(name = "Kafka", category = Node.CATEGORY, elementType = Appender.ELEMENT_TYPE, printObject = true) +public final class KafkaAppender extends AbstractAppender { + + @PluginFactory + public static KafkaAppender createAppender( + @PluginElement("Layout") final Layout<? extends Serializable> layout, + @PluginElement("Filter") final Filter filter, + @Required(message = "No name provided for KafkaAppender") @PluginAttribute("name") final String name, + @PluginAttribute(value = "ignoreExceptions", defaultBoolean = true) final boolean ignoreExceptions, + @Required(message = "No topic provided for KafkaAppender") @PluginAttribute("topic") final String topic, + @PluginElement("Properties") final Property[] properties) { + final KafkaManager kafkaManager = new KafkaManager(name, topic, properties); + return new KafkaAppender(name, layout, filter, ignoreExceptions, kafkaManager); + } + + private final KafkaManager manager; + + private KafkaAppender(final String name, final Layout<? extends Serializable> layout, final Filter filter, final boolean ignoreExceptions, final KafkaManager manager) { + super(name, filter, layout, ignoreExceptions); + this.manager = manager; + } + + @Override + public void append(final LogEvent event) { + if (event.getLoggerName().startsWith("org.apache.kafka")) { + LOGGER.warn("Recursive logging from [{}] for appender [{}].", event.getLoggerName(), getName()); + } else { + try { + final Layout<? extends Serializable> layout = getLayout(); + byte[] data; + if (layout != null) { + if (layout instanceof SerializedLayout) { + final byte[] header = layout.getHeader(); + final byte[] body = layout.toByteArray(event); + data = new byte[header.length + body.length]; + System.arraycopy(header, 0, data, 0, header.length); + System.arraycopy(body, 0, data, header.length, body.length); + } else { + data = layout.toByteArray(event); + } + } else { + data = StringEncoder.toBytes(event.getMessage().getFormattedMessage(), StandardCharsets.UTF_8); + } + manager.send(data); + } catch (final Exception e) { + LOGGER.error("Unable to write to Kafka [{}] for appender [{}].", manager.getName(), getName(), e); + throw new AppenderLoggingException("Unable to write to Kafka in appender: " + e.getMessage(), e); + } + } + } + + @Override + public void start() { + super.start(); + manager.startup(); + } + + @Override + public void stop() { + super.stop(); + manager.release(); + } + + @Override + public String toString() { + return "KafkaAppender{" + + "name=" + getName() + + ", state=" + getState() + + ", topic=" + manager.getTopic() + + '}'; + } +} http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/ce4492f6/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/CronTriggeringPolicy.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/CronTriggeringPolicy.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/CronTriggeringPolicy.java index b4d1b1b..863ea9d 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/CronTriggeringPolicy.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/CronTriggeringPolicy.java @@ -58,7 +58,7 @@ public final class CronTriggeringPolicy implements TriggeringPolicy { public void initialize(final RollingFileManager aManager) { this.manager = aManager; if (checkOnStartup) { - Date nextDate = cronExpression.getNextValidTimeAfter(new Date(this.manager.getFileTime())); + final Date nextDate = cronExpression.getNextValidTimeAfter(new Date(this.manager.getFileTime())); if (nextDate.getTime() < System.currentTimeMillis()) { manager.rollover(); } @@ -110,7 +110,7 @@ public final class CronTriggeringPolicy implements TriggeringPolicy { private static CronExpression getSchedule(final String expression) { try { return new CronExpression(expression); - } catch (ParseException pe) { + } catch (final ParseException pe) { LOGGER.error("Invalid cron expression - " + expression, pe); return null; } http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/ce4492f6/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/DefaultRolloverStrategy.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/DefaultRolloverStrategy.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/DefaultRolloverStrategy.java index 6097586..2a83861 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/DefaultRolloverStrategy.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/DefaultRolloverStrategy.java @@ -132,7 +132,7 @@ public class DefaultRolloverStrategy implements RolloverStrategy { }; static FileExtensions lookup(final String fileExtension) { - for (FileExtensions ext : values()) { + for (final FileExtensions ext : values()) { if (ext.isExtensionFor(fileExtension)) { return ext; } @@ -537,7 +537,7 @@ public class DefaultRolloverStrategy implements RolloverStrategy { final String compressedName = renameTo; Action compressAction = null; - for (FileExtensions ext : FileExtensions.values()) { // LOG4J2-1077 support other compression formats + for (final FileExtensions ext : FileExtensions.values()) { // LOG4J2-1077 support other compression formats if (ext.isExtensionFor(renameTo)) { renameTo = renameTo.substring(0, renameTo.length() - ext.length()); // LOG4J2-1135 omit extension! compressAction = ext.createCompressAction(renameTo, compressedName, true, compressionLevel); @@ -552,7 +552,7 @@ public class DefaultRolloverStrategy implements RolloverStrategy { } private int suffixLength(final String lowFilename) { - for (FileExtensions extension : FileExtensions.values()) { + for (final FileExtensions extension : FileExtensions.values()) { if (extension.isExtensionFor(lowFilename)) { return extension.length(); } http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/ce4492f6/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/RollingFileManager.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/RollingFileManager.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/RollingFileManager.java index 9c573eb..ade19b3 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/RollingFileManager.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/RollingFileManager.java @@ -289,7 +289,7 @@ public class RollingFileManager extends FileManager { @Override public String toString() { - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); builder.append(super.toString()); builder.append("[action="); builder.append(action); @@ -354,7 +354,7 @@ public class RollingFileManager extends FileManager { @Override public String toString() { - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); builder.append(super.toString()); builder.append("[pattern="); builder.append(pattern); http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/ce4492f6/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/DeleteAction.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/DeleteAction.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/DeleteAction.java index 8176470..1d0b75a 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/DeleteAction.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/DeleteAction.java @@ -131,7 +131,7 @@ public class DeleteAction extends AbstractPathAction { final List<PathWithAttributes> sortedPaths = getSortedPaths(); trace("Sorted paths:", sortedPaths); - for (PathWithAttributes element : sortedPaths) { + for (final PathWithAttributes element : sortedPaths) { try { visitor.visitFile(element.getPath(), element.getAttributes()); } catch (final IOException ioex) { http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/ce4492f6/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/Duration.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/Duration.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/Duration.java index a5103f7..5305c91 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/Duration.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/Duration.java @@ -116,22 +116,22 @@ public class Duration implements Serializable, Comparable<Duration> { */ public static Duration parse(final CharSequence text) { Objects.requireNonNull(text, "text"); - Matcher matcher = PATTERN.matcher(text); + final Matcher matcher = PATTERN.matcher(text); if (matcher.matches()) { // check for letter T but no time sections if ("T".equals(matcher.group(2)) == false) { - String dayMatch = matcher.group(1); - String hourMatch = matcher.group(3); - String minuteMatch = matcher.group(4); - String secondMatch = matcher.group(5); + final String dayMatch = matcher.group(1); + final String hourMatch = matcher.group(3); + final String minuteMatch = matcher.group(4); + final String secondMatch = matcher.group(5); if (dayMatch != null || hourMatch != null || minuteMatch != null || secondMatch != null) { - long daysAsSecs = parseNumber(text, dayMatch, SECONDS_PER_DAY, "days"); - long hoursAsSecs = parseNumber(text, hourMatch, SECONDS_PER_HOUR, "hours"); - long minsAsSecs = parseNumber(text, minuteMatch, SECONDS_PER_MINUTE, "minutes"); - long seconds = parseNumber(text, secondMatch, 1, "seconds"); + final long daysAsSecs = parseNumber(text, dayMatch, SECONDS_PER_DAY, "days"); + final long hoursAsSecs = parseNumber(text, hourMatch, SECONDS_PER_HOUR, "hours"); + final long minsAsSecs = parseNumber(text, minuteMatch, SECONDS_PER_MINUTE, "minutes"); + final long seconds = parseNumber(text, secondMatch, 1, "seconds"); try { return create(daysAsSecs, hoursAsSecs, minsAsSecs, seconds); - } catch (ArithmeticException ex) { + } catch (final ArithmeticException ex) { throw new IllegalArgumentException("Text cannot be parsed to a Duration (overflow) " + text, ex); } } @@ -188,7 +188,7 @@ public class Duration implements Serializable, Comparable<Duration> { if (!(obj instanceof Duration)) { return false; } - Duration other = (Duration) obj; + final Duration other = (Duration) obj; return other.seconds == this.seconds; } http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/ce4492f6/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/FileRenameAction.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/FileRenameAction.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/FileRenameAction.java index 83f7caf..142b7e3 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/FileRenameAction.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/FileRenameAction.java @@ -115,7 +115,7 @@ public class FileRenameAction extends AbstractAction { return false; } } - Path sourcePath = source.toPath(); + final Path sourcePath = source.toPath(); try { Files.move(sourcePath, destination.toPath()); return true; http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/ce4492f6/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/IfAll.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/IfAll.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/IfAll.java index 9591804..2b3088c 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/IfAll.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/IfAll.java @@ -92,7 +92,7 @@ public final class IfAll implements PathCondition { * @param nestedConditions the conditions to call {@link #beforeFileTreeWalk()} on */ public static void beforeFileTreeWalk(final PathCondition[] nestedConditions) { - for (PathCondition condition : nestedConditions) { + for (final PathCondition condition : nestedConditions) { condition.beforeFileTreeWalk(); } } http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/ce4492f6/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/IfAny.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/IfAny.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/IfAny.java index 30529d4..6b71542 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/IfAny.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/rolling/action/IfAny.java @@ -1,86 +1,86 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache license, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the license for the specific language governing permissions and - * limitations under the license. - */ -package org.apache.logging.log4j.core.appender.rolling.action; - -import java.nio.file.Path; -import java.nio.file.attribute.BasicFileAttributes; -import java.util.Arrays; -import java.util.Objects; - -import org.apache.logging.log4j.core.config.plugins.Plugin; -import org.apache.logging.log4j.core.config.plugins.PluginElement; -import org.apache.logging.log4j.core.config.plugins.PluginFactory; - -/** - * Composite {@code PathCondition} that accepts objects that are accepted by <em>any</em> component conditions. - * Corresponds to logical "OR". - */ -@Plugin(name = "IfAny", category = "Core", printObject = true) -public final class IfAny implements PathCondition { - - private final PathCondition[] components; - - private IfAny(final PathCondition... filters) { - this.components = Objects.requireNonNull(filters, "filters"); - } - - public PathCondition[] getDeleteFilters() { - return components; - } - - /* - * (non-Javadoc) - * @see org.apache.logging.log4j.core.appender.rolling.action.PathCondition#accept(java.nio.file.Path, java.nio.file.Path, java.nio.file.attribute.BasicFileAttributes) - */ - @Override - public boolean accept(final Path baseDir, final Path relativePath, final BasicFileAttributes attrs) { - for (final PathCondition component : components) { - if (component.accept(baseDir, relativePath, attrs)) { - return true; - } - } - return false; - } - - /* - * (non-Javadoc) - * @see org.apache.logging.log4j.core.appender.rolling.action.PathCondition#beforeFileTreeWalk() - */ - @Override - public void beforeFileTreeWalk() { - for (PathCondition condition : components) { - condition.beforeFileTreeWalk(); - } - } - - /** - * Create a Composite PathCondition: accepts if any of the nested conditions accepts. - * - * @param components The component conditions. - * @return A Composite PathCondition. - */ - @PluginFactory - public static IfAny createOrCondition( // - @PluginElement("PathConditions") final PathCondition... components) { - return new IfAny(components); - } - - @Override - public String toString() { - return "IfAny" + Arrays.toString(components); - } -} +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache license, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the license for the specific language governing permissions and + * limitations under the license. + */ +package org.apache.logging.log4j.core.appender.rolling.action; + +import java.nio.file.Path; +import java.nio.file.attribute.BasicFileAttributes; +import java.util.Arrays; +import java.util.Objects; + +import org.apache.logging.log4j.core.config.plugins.Plugin; +import org.apache.logging.log4j.core.config.plugins.PluginElement; +import org.apache.logging.log4j.core.config.plugins.PluginFactory; + +/** + * Composite {@code PathCondition} that accepts objects that are accepted by <em>any</em> component conditions. + * Corresponds to logical "OR". + */ +@Plugin(name = "IfAny", category = "Core", printObject = true) +public final class IfAny implements PathCondition { + + private final PathCondition[] components; + + private IfAny(final PathCondition... filters) { + this.components = Objects.requireNonNull(filters, "filters"); + } + + public PathCondition[] getDeleteFilters() { + return components; + } + + /* + * (non-Javadoc) + * @see org.apache.logging.log4j.core.appender.rolling.action.PathCondition#accept(java.nio.file.Path, java.nio.file.Path, java.nio.file.attribute.BasicFileAttributes) + */ + @Override + public boolean accept(final Path baseDir, final Path relativePath, final BasicFileAttributes attrs) { + for (final PathCondition component : components) { + if (component.accept(baseDir, relativePath, attrs)) { + return true; + } + } + return false; + } + + /* + * (non-Javadoc) + * @see org.apache.logging.log4j.core.appender.rolling.action.PathCondition#beforeFileTreeWalk() + */ + @Override + public void beforeFileTreeWalk() { + for (final PathCondition condition : components) { + condition.beforeFileTreeWalk(); + } + } + + /** + * Create a Composite PathCondition: accepts if any of the nested conditions accepts. + * + * @param components The component conditions. + * @return A Composite PathCondition. + */ + @PluginFactory + public static IfAny createOrCondition( // + @PluginElement("PathConditions") final PathCondition... components) { + return new IfAny(components); + } + + @Override + public String toString() { + return "IfAny" + Arrays.toString(components); + } +} http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/ce4492f6/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/routing/IdlePurgePolicy.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/routing/IdlePurgePolicy.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/routing/IdlePurgePolicy.java index e9e7469..f4f6e35 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/routing/IdlePurgePolicy.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/routing/IdlePurgePolicy.java @@ -69,8 +69,8 @@ public class IdlePurgePolicy extends AbstractLifeCycle implements PurgePolicy, R */ @Override public void purge() { - long createTime = System.currentTimeMillis() - timeToLive; - for (Entry<String, Long> entry : appendersUsage.entrySet()) { + final long createTime = System.currentTimeMillis() - timeToLive; + for (final Entry<String, Long> entry : appendersUsage.entrySet()) { if (entry.getValue() < createTime) { LOGGER.debug("Removing appender " + entry.getKey()); appendersUsage.remove(entry.getKey()); @@ -81,7 +81,7 @@ public class IdlePurgePolicy extends AbstractLifeCycle implements PurgePolicy, R @Override public void update(final String key, final LogEvent event) { - long now = System.currentTimeMillis(); + final long now = System.currentTimeMillis(); appendersUsage.put(key, now); if (future == null) { synchronized (this) { @@ -101,13 +101,13 @@ public class IdlePurgePolicy extends AbstractLifeCycle implements PurgePolicy, R private void scheduleNext() { long createTime = Long.MAX_VALUE; - for (Entry<String, Long> entry : appendersUsage.entrySet()) { + for (final Entry<String, Long> entry : appendersUsage.entrySet()) { if (entry.getValue() < createTime) { createTime = entry.getValue(); } } if (createTime < Long.MAX_VALUE) { - long interval = timeToLive - (System.currentTimeMillis() - createTime); + final long interval = timeToLive - (System.currentTimeMillis() - createTime); future = scheduler.schedule(this, interval, TimeUnit.MILLISECONDS); } } @@ -135,7 +135,7 @@ public class IdlePurgePolicy extends AbstractLifeCycle implements PurgePolicy, R } else { try { units = TimeUnit.valueOf(timeUnit.toUpperCase()); - } catch (Exception ex) { + } catch (final Exception ex) { LOGGER.error("Invalid time unit {}", timeUnit); units = TimeUnit.MINUTES; } http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/ce4492f6/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/routing/RoutingAppender.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/routing/RoutingAppender.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/routing/RoutingAppender.java index 02f2d33..0df19eb 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/routing/RoutingAppender.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/routing/RoutingAppender.java @@ -183,7 +183,7 @@ public final class RoutingAppender extends AbstractAppender { */ public void deleteAppender(final String key) { LOGGER.debug("Stopping route with key" + key); - AppenderControl control = appenders.remove(key); + final AppenderControl control = appenders.remove(key); control.getAppender().stop(); } http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/ce4492f6/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLoggerConfigDefaultExceptionHandler.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLoggerConfigDefaultExceptionHandler.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLoggerConfigDefaultExceptionHandler.java index fa647c6..961c349 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLoggerConfigDefaultExceptionHandler.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLoggerConfigDefaultExceptionHandler.java @@ -27,11 +27,11 @@ public class AsyncLoggerConfigDefaultExceptionHandler @Override public void handleEventException(final Throwable throwable, final long sequence, final AsyncLoggerConfigDisruptor.Log4jEventWrapper event) { - StringBuilder sb = new StringBuilder(512); + final StringBuilder sb = new StringBuilder(512); sb.append("AsyncLogger error handling event seq=").append(sequence).append(", value='"); try { sb.append(event); - } catch (Exception ignored) { + } catch (final Exception ignored) { sb.append("[ERROR calling ").append(event.getClass()).append(".toString(): "); sb.append(ignored).append("]"); } http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/ce4492f6/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLoggerDefaultExceptionHandler.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLoggerDefaultExceptionHandler.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLoggerDefaultExceptionHandler.java index 081a097..e224e1e 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLoggerDefaultExceptionHandler.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/async/AsyncLoggerDefaultExceptionHandler.java @@ -25,11 +25,11 @@ public class AsyncLoggerDefaultExceptionHandler implements ExceptionHandler<Ring @Override public void handleEventException(final Throwable throwable, final long sequence, final RingBufferLogEvent event) { - StringBuilder sb = new StringBuilder(512); + final StringBuilder sb = new StringBuilder(512); sb.append("AsyncLogger error handling event seq=").append(sequence).append(", value='"); try { sb.append(event); - } catch (Exception ignored) { + } catch (final Exception ignored) { sb.append("[ERROR calling ").append(event.getClass()).append(".toString(): "); sb.append(ignored).append("]"); } http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/ce4492f6/log4j-core/src/main/java/org/apache/logging/log4j/core/async/DisruptorUtil.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/async/DisruptorUtil.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/async/DisruptorUtil.java index 774a1cc..4fc5ea0 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/async/DisruptorUtil.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/async/DisruptorUtil.java @@ -133,7 +133,7 @@ final class DisruptorUtil { * @return the thread ID of the background appender thread */ public static long getExecutorThreadId(final ExecutorService executor) { - Future<Long> result = executor.submit(new Callable<Long>() { + final Future<Long> result = executor.submit(new Callable<Long>() { @Override public Long call() { return Thread.currentThread().getId(); http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/ce4492f6/log4j-core/src/main/java/org/apache/logging/log4j/core/async/RingBufferLogEvent.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/async/RingBufferLogEvent.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/async/RingBufferLogEvent.java index 5d8d4fd..463536c 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/async/RingBufferLogEvent.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/async/RingBufferLogEvent.java @@ -58,7 +58,7 @@ public class RingBufferLogEvent implements LogEvent, ReusableMessage, CharSequen @Override public RingBufferLogEvent newInstance() { - RingBufferLogEvent result = new RingBufferLogEvent(); + final RingBufferLogEvent result = new RingBufferLogEvent(); if (Constants.ENABLE_THREADLOCALS) { result.messageText = new StringBuilder(Constants.INITIAL_REUSABLE_MESSAGE_SIZE); result.parameters = new Object[10]; @@ -114,7 +114,7 @@ public class RingBufferLogEvent implements LogEvent, ReusableMessage, CharSequen private void setMessage(final Message msg) { if (msg instanceof ReusableMessage) { - ReusableMessage reusable = (ReusableMessage) msg; + final ReusableMessage reusable = (ReusableMessage) msg; reusable.formatTo(getMessageTextForWriting()); if (parameters != null) { parameters = reusable.swapParameters(parameters); @@ -271,7 +271,7 @@ public class RingBufferLogEvent implements LogEvent, ReusableMessage, CharSequen if (message != null) { return message; } - Object[] params = parameters == null ? new Object[0] : Arrays.copyOf(parameters, parameterCount); + final Object[] params = parameters == null ? new Object[0] : Arrays.copyOf(parameters, parameterCount); return new ParameterizedMessage(messageText.toString(), params); } http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/ce4492f6/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java index 3562ce4..a152ea7 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AbstractConfiguration.java @@ -317,7 +317,7 @@ public abstract class AbstractConfiguration extends AbstractFilterable implement if (!async.isEmpty()) { // LOG4J2-511, LOG4J2-392 stop AsyncAppenders first LOGGER.trace("{} stopping {} AsyncAppenders.", cls, async.size()); - for (Appender appender : async) { + for (final Appender appender : async) { appender.stop(); } } @@ -441,13 +441,13 @@ public abstract class AbstractConfiguration extends AbstractFilterable implement LOGGER.error("Unable to locate plugin type for " + child.getName()); continue; } - Class<?> clazz = child.getType().getPluginClass(); + final Class<?> clazz = child.getType().getPluginClass(); if (clazz.isAnnotationPresent(Scheduled.class)) { configurationScheduler.incrementScheduledItems(); } preConfigure(child); } - } catch (Exception ex) { + } catch (final Exception ex) { LOGGER.error("Error capturing node data for node " + node.getName(), ex); } } @@ -481,7 +481,7 @@ public abstract class AbstractConfiguration extends AbstractFilterable implement continue; } if (child.getName().equalsIgnoreCase("Scripts")) { - for (AbstractScript script : child.getObject(AbstractScript[].class)) { + for (final AbstractScript script : child.getObject(AbstractScript[].class)) { if (script instanceof ScriptRef) { LOGGER.error("Script reference to {} not added. Scripts definition cannot contain script references", script.getName()); http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/ce4492f6/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AppenderControl.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AppenderControl.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AppenderControl.java index 6b91bd6..68d4db1 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AppenderControl.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AppenderControl.java @@ -108,7 +108,7 @@ public class AppenderControl extends AbstractFilterable { } private String appenderErrorHandlerMessage(final String prefix) { - String result = createErrorMsg(prefix); + final String result = createErrorMsg(prefix); appender.getHandler().error(result); return result; } http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/ce4492f6/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AwaitUnconditionallyReliabilityStrategy.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AwaitUnconditionallyReliabilityStrategy.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AwaitUnconditionallyReliabilityStrategy.java index 806a1f3..357f18b 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AwaitUnconditionallyReliabilityStrategy.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/AwaitUnconditionallyReliabilityStrategy.java @@ -114,7 +114,7 @@ public class AwaitUnconditionallyReliabilityStrategy implements ReliabilityStrat if (loggerConfig == configuration.getRootLogger()) { try { Thread.sleep(SLEEP_MILLIS); - } catch (InterruptedException e) { + } catch (final InterruptedException e) { StatusLogger.getLogger().warn("Sleep before stop configuration was interrupted."); } } http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/ce4492f6/log4j-core/src/main/java/org/apache/logging/log4j/core/config/ConfigurationFactory.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/ConfigurationFactory.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/ConfigurationFactory.java index 05c5823..6497253 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/ConfigurationFactory.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/ConfigurationFactory.java @@ -393,11 +393,11 @@ public abstract class ConfigurationFactory extends ConfigurationBuilderFactory { final String configLocationStr = this.substitutor.replace(PropertiesUtil.getProperties() .getStringProperty(CONFIGURATION_FILE_PROPERTY)); if (configLocationStr != null) { - String[] sources = configLocationStr.split(","); + final String[] sources = configLocationStr.split(","); if (sources.length > 1) { - List<AbstractConfiguration> configs = new ArrayList<>(); - for (String sourceLocation : sources) { - Configuration config = getConfiguration(sourceLocation.trim()); + final List<AbstractConfiguration> configs = new ArrayList<>(); + for (final String sourceLocation : sources) { + final Configuration config = getConfiguration(sourceLocation.trim()); if (config != null && config instanceof AbstractConfiguration) { configs.add((AbstractConfiguration) config); } else { http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/ce4492f6/log4j-core/src/main/java/org/apache/logging/log4j/core/config/ConfigurationScheduler.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/ConfigurationScheduler.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/ConfigurationScheduler.java index 50b8194..3364ca4 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/ConfigurationScheduler.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/ConfigurationScheduler.java @@ -115,9 +115,9 @@ public class ConfigurationScheduler extends AbstractLifeCycle { * @return a ScheduledFuture representing the next time the command will run. */ public CronScheduledFuture<?> scheduleWithCron(final CronExpression cronExpression, final Runnable command) { - CronRunnable runnable = new CronRunnable(command, cronExpression); - ScheduledFuture<?> future = schedule(runnable, nextFireInterval(cronExpression), TimeUnit.MILLISECONDS); - CronScheduledFuture<?> cronScheduledFuture = new CronScheduledFuture<>(future); + final CronRunnable runnable = new CronRunnable(command, cronExpression); + final ScheduledFuture<?> future = schedule(runnable, nextFireInterval(cronExpression), TimeUnit.MILLISECONDS); + final CronScheduledFuture<?> cronScheduledFuture = new CronScheduledFuture<>(future); runnable.setScheduledFuture(cronScheduledFuture); return cronScheduledFuture; } @@ -171,18 +171,18 @@ public class ConfigurationScheduler extends AbstractLifeCycle { public void run() { try { runnable.run(); - } catch(Throwable ex) { + } catch(final Throwable ex) { LOGGER.error("Error running command", ex); } finally { - ScheduledFuture<?> future = schedule(this, nextFireInterval(cronExpression), TimeUnit.MILLISECONDS); + final ScheduledFuture<?> future = schedule(this, nextFireInterval(cronExpression), TimeUnit.MILLISECONDS); scheduledFuture.setScheduledFuture(future); } } } private long nextFireInterval(final CronExpression cronExpression) { - Date now = new Date(); - Date fireDate = cronExpression.getNextValidTimeAfter(now); + final Date now = new Date(); + final Date fireDate = cronExpression.getNextValidTimeAfter(now); return fireDate.getTime() - now.getTime(); } http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/ce4492f6/log4j-core/src/main/java/org/apache/logging/log4j/core/config/ConfigurationSource.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/ConfigurationSource.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/ConfigurationSource.java index f1627bb..a3b1580 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/ConfigurationSource.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/ConfigurationSource.java @@ -141,7 +141,7 @@ public class ConfigurationSource { if (url != null) { try { sourceURI = url.toURI(); - } catch (URISyntaxException ex) { + } catch (final URISyntaxException ex) { /* Ignore the exception */ } } @@ -151,11 +151,11 @@ public class ConfigurationSource { if (sourceURI == null && location != null) { try { sourceURI = new URI(location); - } catch (URISyntaxException ex) { + } catch (final URISyntaxException ex) { // Assume the scheme was missing. try { sourceURI = new URI("file://" + location); - } catch (URISyntaxException uriEx) { + } catch (final URISyntaxException uriEx) { /* Ignore the exception */ } } http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/ce4492f6/log4j-core/src/main/java/org/apache/logging/log4j/core/config/Configurator.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/Configurator.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/Configurator.java index f152ac3..6de2506 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/Configurator.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/Configurator.java @@ -115,11 +115,11 @@ public final class Configurator { return initialize(name, loader, (URI) null, externalContext); } if (configLocation.contains(",")) { - String[] parts = configLocation.split(","); + final String[] parts = configLocation.split(","); String scheme = null; - List<URI> uris = new ArrayList<>(parts.length); - for (String part : parts) { - URI uri = NetUtils.toURI(scheme != null ? scheme + ":" + part.trim() : part.trim()); + final List<URI> uris = new ArrayList<>(parts.length); + for (final String part : parts) { + final URI uri = NetUtils.toURI(scheme != null ? scheme + ":" + part.trim() : part.trim()); if (scheme == null && uri.getScheme() != null) { scheme = uri.getScheme(); } http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/ce4492f6/log4j-core/src/main/java/org/apache/logging/log4j/core/config/ReliabilityStrategyFactory.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/ReliabilityStrategyFactory.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/ReliabilityStrategyFactory.java index 637341b..1e9fc05 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/ReliabilityStrategyFactory.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/ReliabilityStrategyFactory.java @@ -1,70 +1,70 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache license, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the license for the specific language governing permissions and - * limitations under the license. - */ - -package org.apache.logging.log4j.core.config; - -import org.apache.logging.log4j.status.StatusLogger; -import org.apache.logging.log4j.util.LoaderUtil; -import org.apache.logging.log4j.util.PropertiesUtil; - -/** - * Factory for ReliabilityStrategies. - */ -public final class ReliabilityStrategyFactory { - private ReliabilityStrategyFactory() { - } - - /** - * Returns a new {@code ReliabilityStrategy} instance based on the value of system property - * {@code log4j.ReliabilityStrategy}. If not value was specified this method returns a new - * {@code AwaitUnconditionallyReliabilityStrategy}. - * <p> - * Valid values for this system property are {@code "AwaitUnconditionally"} (use - * {@code AwaitUnconditionallyReliabilityStrategy}), {@code "Locking"} (use {@code LockingReliabilityStrategy}) and - * {@code "AwaitCompletion"} (use the default {@code AwaitCompletionReliabilityStrategy}). - * <p> - * Users may also use this system property to specify the fully qualified class name of a class that implements the - * {@code ReliabilityStrategy} and has a constructor that accepts a single {@code LoggerConfig} argument. - * - * @param loggerConfig the LoggerConfig the resulting {@code ReliabilityStrategy} is associated with - * @return a ReliabilityStrategy that helps the specified LoggerConfig to log events reliably during or after a - * configuration change - */ - public static ReliabilityStrategy getReliabilityStrategy(final LoggerConfig loggerConfig) { - - String strategy = PropertiesUtil.getProperties().getStringProperty("log4j.ReliabilityStrategy", - "AwaitCompletion"); - if ("AwaitCompletion".equals(strategy)) { - return new AwaitCompletionReliabilityStrategy(loggerConfig); - } - if ("AwaitUnconditionally".equals(strategy)) { - return new AwaitUnconditionallyReliabilityStrategy(loggerConfig); - } - if ("Locking".equals(strategy)) { - return new LockingReliabilityStrategy(loggerConfig); - } - try { - final Class<? extends ReliabilityStrategy> cls = LoaderUtil.loadClass(strategy).asSubclass( - ReliabilityStrategy.class); - return cls.getConstructor(LoggerConfig.class).newInstance(loggerConfig); - } catch (Exception dynamicFailed) { - StatusLogger.getLogger().warn( - "Could not create ReliabilityStrategy for '{}', using default AwaitCompletionReliabilityStrategy: {}", strategy, dynamicFailed); - return new AwaitCompletionReliabilityStrategy(loggerConfig); - } - } -} +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache license, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the license for the specific language governing permissions and + * limitations under the license. + */ + +package org.apache.logging.log4j.core.config; + +import org.apache.logging.log4j.status.StatusLogger; +import org.apache.logging.log4j.util.LoaderUtil; +import org.apache.logging.log4j.util.PropertiesUtil; + +/** + * Factory for ReliabilityStrategies. + */ +public final class ReliabilityStrategyFactory { + private ReliabilityStrategyFactory() { + } + + /** + * Returns a new {@code ReliabilityStrategy} instance based on the value of system property + * {@code log4j.ReliabilityStrategy}. If not value was specified this method returns a new + * {@code AwaitUnconditionallyReliabilityStrategy}. + * <p> + * Valid values for this system property are {@code "AwaitUnconditionally"} (use + * {@code AwaitUnconditionallyReliabilityStrategy}), {@code "Locking"} (use {@code LockingReliabilityStrategy}) and + * {@code "AwaitCompletion"} (use the default {@code AwaitCompletionReliabilityStrategy}). + * <p> + * Users may also use this system property to specify the fully qualified class name of a class that implements the + * {@code ReliabilityStrategy} and has a constructor that accepts a single {@code LoggerConfig} argument. + * + * @param loggerConfig the LoggerConfig the resulting {@code ReliabilityStrategy} is associated with + * @return a ReliabilityStrategy that helps the specified LoggerConfig to log events reliably during or after a + * configuration change + */ + public static ReliabilityStrategy getReliabilityStrategy(final LoggerConfig loggerConfig) { + + final String strategy = PropertiesUtil.getProperties().getStringProperty("log4j.ReliabilityStrategy", + "AwaitCompletion"); + if ("AwaitCompletion".equals(strategy)) { + return new AwaitCompletionReliabilityStrategy(loggerConfig); + } + if ("AwaitUnconditionally".equals(strategy)) { + return new AwaitUnconditionallyReliabilityStrategy(loggerConfig); + } + if ("Locking".equals(strategy)) { + return new LockingReliabilityStrategy(loggerConfig); + } + try { + final Class<? extends ReliabilityStrategy> cls = LoaderUtil.loadClass(strategy).asSubclass( + ReliabilityStrategy.class); + return cls.getConstructor(LoggerConfig.class).newInstance(loggerConfig); + } catch (final Exception dynamicFailed) { + StatusLogger.getLogger().warn( + "Could not create ReliabilityStrategy for '{}', using default AwaitCompletionReliabilityStrategy: {}", strategy, dynamicFailed); + return new AwaitCompletionReliabilityStrategy(loggerConfig); + } + } +} http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/ce4492f6/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/BuiltConfiguration.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/BuiltConfiguration.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/BuiltConfiguration.java index f096f84..4dcd293 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/BuiltConfiguration.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/builder/impl/BuiltConfiguration.java @@ -123,12 +123,12 @@ public class BuiltConfiguration extends AbstractConfiguration { byte[] buffer = null; try { if (configSource != null) { - InputStream is = configSource.getInputStream(); + final InputStream is = configSource.getInputStream(); if (is != null) { buffer = toByteArray(is); } } - } catch (IOException ioe) { + } catch (final IOException ioe) { LOGGER.warn("Unable to read configuration source " + configSource.toString()); } super.createAdvertiser(advertiserString, configSource, buffer, contentType); @@ -154,7 +154,7 @@ public class BuiltConfiguration extends AbstractConfiguration { if (intervalSeconds > 0) { getWatchManager().setIntervalSeconds(intervalSeconds); if (configFile != null) { - FileWatcher watcher = new ConfiguratonFileWatcher((Reconfigurable) this, listeners); + final FileWatcher watcher = new ConfiguratonFileWatcher((Reconfigurable) this, listeners); getWatchManager().watchFile(configFile, watcher); } } http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/ce4492f6/log4j-core/src/main/java/org/apache/logging/log4j/core/config/composite/CompositeConfiguration.java ---------------------------------------------------------------------- diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/composite/CompositeConfiguration.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/composite/CompositeConfiguration.java index b29e60b..f272fc1 100644 --- a/log4j-core/src/main/java/org/apache/logging/log4j/core/config/composite/CompositeConfiguration.java +++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/config/composite/CompositeConfiguration.java @@ -65,7 +65,7 @@ public class CompositeConfiguration extends AbstractConfiguration implements Rec super(ConfigurationSource.NULL_SOURCE); rootNode = configurations.get(0).getRootNode(); this.configurations = configurations; - String mergeStrategyClassName = PropertiesUtil.getProperties().getStringProperty(MERGE_STRATEGY_PROPERTY, + final String mergeStrategyClassName = PropertiesUtil.getProperties().getStringProperty(MERGE_STRATEGY_PROPERTY, DefaultMergeStrategy.class.getName()); try { mergeStrategy = LoaderUtil.newInstanceOf(mergeStrategyClassName); @@ -73,7 +73,7 @@ public class CompositeConfiguration extends AbstractConfiguration implements Rec InstantiationException ex) { mergeStrategy = new DefaultMergeStrategy(); } - for (AbstractConfiguration config : configurations) { + for (final AbstractConfiguration config : configurations) { mergeStrategy.mergeRootProperties(rootNode, config); } final StatusConfiguration statusConfig = new StatusConfiguration().withVerboseClasses(VERBOSE_CLASSES) @@ -100,38 +100,38 @@ public class CompositeConfiguration extends AbstractConfiguration implements Rec @Override public void setup() { - AbstractConfiguration targetConfiguration = configurations.get(0); + final AbstractConfiguration targetConfiguration = configurations.get(0); staffChildConfiguration(targetConfiguration); - WatchManager watchManager = getWatchManager(); - WatchManager targetWatchManager = targetConfiguration.getWatchManager(); - FileWatcher fileWatcher = new ConfiguratonFileWatcher(this, listeners); + final WatchManager watchManager = getWatchManager(); + final WatchManager targetWatchManager = targetConfiguration.getWatchManager(); + final FileWatcher fileWatcher = new ConfiguratonFileWatcher(this, listeners); if (targetWatchManager.getIntervalSeconds() > 0) { watchManager.setIntervalSeconds(targetWatchManager.getIntervalSeconds()); - Map<File, FileWatcher> watchers = targetWatchManager.getWatchers(); - for (Map.Entry<File, FileWatcher> entry : watchers.entrySet()) { + final Map<File, FileWatcher> watchers = targetWatchManager.getWatchers(); + for (final Map.Entry<File, FileWatcher> entry : watchers.entrySet()) { if (entry.getValue() instanceof ConfiguratonFileWatcher) { watchManager.watchFile(entry.getKey(), fileWatcher); } } } - for (AbstractConfiguration sourceConfiguration : configurations.subList(1, configurations.size())) { + for (final AbstractConfiguration sourceConfiguration : configurations.subList(1, configurations.size())) { staffChildConfiguration(sourceConfiguration); - Node sourceRoot = sourceConfiguration.getRootNode(); + final Node sourceRoot = sourceConfiguration.getRootNode(); mergeStrategy.mergConfigurations(rootNode, sourceRoot, getPluginManager()); if (LOGGER.isEnabled(Level.ALL)) { - StringBuilder sb = new StringBuilder(); + final StringBuilder sb = new StringBuilder(); printNodes("", rootNode, sb); System.out.println(sb.toString()); } - int monitorInterval = sourceConfiguration.getWatchManager().getIntervalSeconds(); + final int monitorInterval = sourceConfiguration.getWatchManager().getIntervalSeconds(); if (monitorInterval > 0) { - int currentInterval = watchManager.getIntervalSeconds(); + final int currentInterval = watchManager.getIntervalSeconds(); if (currentInterval <= 0 || monitorInterval < currentInterval) { watchManager.setIntervalSeconds(monitorInterval); } - WatchManager sourceWatchManager = sourceConfiguration.getWatchManager(); - Map<File, FileWatcher> watchers = sourceWatchManager.getWatchers(); - for (Map.Entry<File, FileWatcher> entry : watchers.entrySet()) { + final WatchManager sourceWatchManager = sourceConfiguration.getWatchManager(); + final Map<File, FileWatcher> watchers = sourceWatchManager.getWatchers(); + for (final Map.Entry<File, FileWatcher> entry : watchers.entrySet()) { if (entry.getValue() instanceof ConfiguratonFileWatcher) { watchManager.watchFile(entry.getKey(), fileWatcher); } @@ -143,11 +143,11 @@ public class CompositeConfiguration extends AbstractConfiguration implements Rec @Override public Configuration reconfigure() { LOGGER.debug("Reconfiguring composite configuration"); - List<AbstractConfiguration> configs = new ArrayList<>(); - ConfigurationFactory factory = ConfigurationFactory.getInstance(); - for (AbstractConfiguration config : configurations) { - ConfigurationSource source = config.getConfigurationSource(); - URI sourceURI = source.getURI(); + final List<AbstractConfiguration> configs = new ArrayList<>(); + final ConfigurationFactory factory = ConfigurationFactory.getInstance(); + for (final AbstractConfiguration config : configurations) { + final ConfigurationSource source = config.getConfigurationSource(); + final URI sourceURI = source.getURI(); Configuration currentConfig; if (sourceURI != null) { LOGGER.warn("Unable to determine URI for configuration {}, changes to it will be ignored", @@ -176,7 +176,7 @@ public class CompositeConfiguration extends AbstractConfiguration implements Rec private void printNodes(final String indent, final Node node, final StringBuilder sb) { sb.append(indent).append(node.getName()).append(" type: ").append(node.getType()).append("\n"); sb.append(indent).append(node.getAttributes().toString()).append("\n"); - for (Node child : node.getChildren()) { + for (final Node child : node.getChildren()) { printNodes(indent + " ", child, sb); } }