You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by gg...@apache.org on 2017/07/17 05:56:58 UTC
[03/51] [abbrv] logging-log4j2 git commit: Add final modifier to
local variables.
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/078f8c87/log4j-core/src/test/java/org/apache/logging/log4j/core/impl/ThrowableProxyTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/impl/ThrowableProxyTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/impl/ThrowableProxyTest.java
index 14fd4c6..2b5edd7 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/impl/ThrowableProxyTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/impl/ThrowableProxyTest.java
@@ -82,8 +82,8 @@ public class ThrowableProxyTest {
}
private boolean allLinesContain(final String text, final String containedText) {
- String[] lines = text.split("\n");
- for (String line : lines) {
+ final String[] lines = text.split("\n");
+ for (final String line : lines) {
if (line.isEmpty()) {
continue;
}
@@ -298,7 +298,7 @@ public class ThrowableProxyTest {
final Throwable throwable = new IllegalArgumentException("This is a test");
final ThrowableProxy proxy = new ThrowableProxy(throwable);
- String suffix = "some suffix";
+ final String suffix = "some suffix";
assertTrue(allLinesContain(proxy.getExtendedStackTraceAsString(suffix), suffix));
}
@@ -307,18 +307,18 @@ public class ThrowableProxyTest {
final Throwable throwable = new RuntimeException(new IllegalArgumentException("This is a test"));
final ThrowableProxy proxy = new ThrowableProxy(throwable);
- String suffix = "some suffix";
+ final String suffix = "some suffix";
assertTrue(allLinesContain(proxy.getExtendedStackTraceAsString(suffix), suffix));
}
@Test
public void testSuffix_getExtendedStackTraceAsStringWithSuppressedThrowable() throws Exception {
- IllegalArgumentException cause = new IllegalArgumentException("This is a test");
+ final IllegalArgumentException cause = new IllegalArgumentException("This is a test");
final Throwable throwable = new RuntimeException(cause);
throwable.addSuppressed(new IOException("This is a test"));
final ThrowableProxy proxy = new ThrowableProxy(throwable);
- String suffix = "some suffix";
+ final String suffix = "some suffix";
assertTrue(allLinesContain(proxy.getExtendedStackTraceAsString(suffix), suffix));
}
@@ -327,7 +327,7 @@ public class ThrowableProxyTest {
final Throwable throwable = new IllegalArgumentException("This is a test");
final ThrowableProxy proxy = new ThrowableProxy(throwable);
- String suffix = "some suffix";
+ final String suffix = "some suffix";
assertTrue(allLinesContain(proxy.getCauseStackTraceAsString(suffix), suffix));
}
@@ -336,18 +336,18 @@ public class ThrowableProxyTest {
final Throwable throwable = new RuntimeException(new IllegalArgumentException("This is a test"));
final ThrowableProxy proxy = new ThrowableProxy(throwable);
- String suffix = "some suffix";
+ final String suffix = "some suffix";
assertTrue(allLinesContain(proxy.getCauseStackTraceAsString(suffix), suffix));
}
@Test
public void testSuffix_getCauseStackTraceAsStringWithSuppressedThrowable() throws Exception {
- IllegalArgumentException cause = new IllegalArgumentException("This is a test");
+ final IllegalArgumentException cause = new IllegalArgumentException("This is a test");
final Throwable throwable = new RuntimeException(cause);
throwable.addSuppressed(new IOException("This is a test"));
final ThrowableProxy proxy = new ThrowableProxy(throwable);
- String suffix = "some suffix";
+ final String suffix = "some suffix";
assertTrue(allLinesContain(proxy.getCauseStackTraceAsString(suffix), suffix));
}
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/078f8c87/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/GelfLayoutTest2.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/GelfLayoutTest2.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/GelfLayoutTest2.java
index 64d3118..ed0fb4c 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/GelfLayoutTest2.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/GelfLayoutTest2.java
@@ -35,11 +35,11 @@ public class GelfLayoutTest2 {
@Test
public void gelfLayout() throws IOException {
- Logger logger = context.getLogger();
+ final Logger logger = context.getLogger();
logger.info("Message");
- String gelf = context.getListAppender("list").getMessages().get(0);
- ObjectMapper mapper = new ObjectMapper();
- JsonNode json = mapper.readTree(gelf);
+ final String gelf = context.getListAppender("list").getMessages().get(0);
+ final ObjectMapper mapper = new ObjectMapper();
+ final JsonNode json = mapper.readTree(gelf);
assertEquals("Message", json.get("short_message").asText());
assertEquals("myhost", json.get("host").asText());
assertEquals("FOO", json.get("_foo").asText());
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/078f8c87/log4j-core/src/test/java/org/apache/logging/log4j/core/lookup/StrSubstitutorTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/lookup/StrSubstitutorTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/lookup/StrSubstitutorTest.java
index d45cf7a..41b7979 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/lookup/StrSubstitutorTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/lookup/StrSubstitutorTest.java
@@ -74,7 +74,7 @@ public class StrSubstitutorTest {
final StrSubstitutor subst = new StrSubstitutor(lookup);
ThreadContext.put(TESTKEY, TESTVAL);
//String value = subst.replace("${sys:TestKey1:-${ctx:TestKey}}");
- String value = subst.replace("${sys:TestKey1:-${ctx:TestKey}}");
+ final String value = subst.replace("${sys:TestKey1:-${ctx:TestKey}}");
assertEquals("TestValue", value);
}
}
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/078f8c87/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/ThrowablePatternConverterTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/ThrowablePatternConverterTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/ThrowablePatternConverterTest.java
index 2704d86..4931cf0 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/ThrowablePatternConverterTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/pattern/ThrowablePatternConverterTest.java
@@ -39,8 +39,8 @@ public class ThrowablePatternConverterTest {
}
private boolean everyLineEndsWith(final String text, final String suffix) {
- String[] lines = text.split(Strings.LINE_SEPARATOR);
- for (String line: lines) {
+ final String[] lines = text.split(Strings.LINE_SEPARATOR);
+ for (final String line: lines) {
if (!line.trim().endsWith(suffix)) {
return false;
}
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/078f8c87/log4j-core/src/test/java/org/apache/logging/log4j/core/util/CronExpressionTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/util/CronExpressionTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/util/CronExpressionTest.java
index 0212cac..bafdcfa 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/util/CronExpressionTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/util/CronExpressionTest.java
@@ -76,19 +76,19 @@ public class CronExpressionTest {
@Test
public void testPrevFireTime1() throws Exception {
- CronExpression parser = new CronExpression("0 */15,12 7-11,13-17 L * ?");
- Date date = new GregorianCalendar(2015, 10, 2).getTime();
- Date fireDate = parser.getPrevFireTime(date);
- Date expected = new GregorianCalendar(2015, 9, 31, 17, 45, 0).getTime();
+ final CronExpression parser = new CronExpression("0 */15,12 7-11,13-17 L * ?");
+ final Date date = new GregorianCalendar(2015, 10, 2).getTime();
+ final Date fireDate = parser.getPrevFireTime(date);
+ final Date expected = new GregorianCalendar(2015, 9, 31, 17, 45, 0).getTime();
assertEquals("Dates not equal.", expected, fireDate);
}
@Test
public void testPrevFireTime2() throws Exception {
- CronExpression parser = new CronExpression("0 0/5 14,18 * * ?");
- Date date = new GregorianCalendar(2015, 10, 2).getTime();
- Date fireDate = parser.getPrevFireTime(date);
- Date expected = new GregorianCalendar(2015, 10, 1, 18, 55, 0).getTime();
+ final CronExpression parser = new CronExpression("0 0/5 14,18 * * ?");
+ final Date date = new GregorianCalendar(2015, 10, 2).getTime();
+ final Date fireDate = parser.getPrevFireTime(date);
+ final Date expected = new GregorianCalendar(2015, 10, 1, 18, 55, 0).getTime();
assertEquals("Dates not equal.", expected, fireDate);
}
@@ -97,10 +97,10 @@ public class CronExpressionTest {
*/
@Test
public void testPrevFireTime3() throws Exception {
- CronExpression parser = new CronExpression("0 35/10 * * * ?");
- Date date = new GregorianCalendar(2015, 10, 2).getTime();
- Date fireDate = parser.getPrevFireTime(date);
- Date expected = new GregorianCalendar(2015, 10, 1, 23, 55, 0).getTime();
+ final CronExpression parser = new CronExpression("0 35/10 * * * ?");
+ final Date date = new GregorianCalendar(2015, 10, 2).getTime();
+ final Date fireDate = parser.getPrevFireTime(date);
+ final Date expected = new GregorianCalendar(2015, 10, 1, 23, 55, 0).getTime();
assertEquals("Dates not equal.", expected, fireDate);
}
@@ -110,10 +110,10 @@ public class CronExpressionTest {
*/
@Test
public void testPrevFireTimeTenFifteen() throws Exception {
- CronExpression parser = new CronExpression("0 15 10 * * ? *");
- Date date = new GregorianCalendar(2015, 10, 2).getTime();
- Date fireDate = parser.getPrevFireTime(date);
- Date expected = new GregorianCalendar(2015, 10, 1, 10, 15, 0).getTime();
+ final CronExpression parser = new CronExpression("0 15 10 * * ? *");
+ final Date date = new GregorianCalendar(2015, 10, 2).getTime();
+ final Date fireDate = parser.getPrevFireTime(date);
+ final Date expected = new GregorianCalendar(2015, 10, 1, 10, 15, 0).getTime();
assertEquals("Dates not equal.", expected, fireDate);
}
@@ -122,10 +122,10 @@ public class CronExpressionTest {
*/
@Test
public void testPrevFireTimeTwoPM() throws Exception {
- CronExpression parser = new CronExpression("0 * 14 * * ?");
- Date date = new GregorianCalendar(2015, 10, 2).getTime();
- Date fireDate = parser.getPrevFireTime(date);
- Date expected = new GregorianCalendar(2015, 10, 1, 14, 59, 0).getTime();
+ final CronExpression parser = new CronExpression("0 * 14 * * ?");
+ final Date date = new GregorianCalendar(2015, 10, 2).getTime();
+ final Date fireDate = parser.getPrevFireTime(date);
+ final Date expected = new GregorianCalendar(2015, 10, 1, 14, 59, 0).getTime();
assertEquals("Dates not equal.", expected, fireDate);
}
@@ -134,10 +134,10 @@ public class CronExpressionTest {
*/
@Test
public void testPrevFireTimeMarch() throws Exception {
- CronExpression parser = new CronExpression("0 10,44 14 ? 3 WED");
- Date date = new GregorianCalendar(2015, 10, 2).getTime();
- Date fireDate = parser.getPrevFireTime(date);
- Date expected = new GregorianCalendar(2015, 2, 25, 14, 44, 0).getTime();
+ final CronExpression parser = new CronExpression("0 10,44 14 ? 3 WED");
+ final Date date = new GregorianCalendar(2015, 10, 2).getTime();
+ final Date fireDate = parser.getPrevFireTime(date);
+ final Date expected = new GregorianCalendar(2015, 2, 25, 14, 44, 0).getTime();
assertEquals("Dates not equal.", expected, fireDate);
}
@@ -146,10 +146,10 @@ public class CronExpressionTest {
*/
@Test
public void testPrevFireTimeThirdFriday() throws Exception {
- CronExpression parser = new CronExpression("0 15 10 ? * 6#3");
- Date date = new GregorianCalendar(2015, 10, 2).getTime();
- Date fireDate = parser.getPrevFireTime(date);
- Date expected = new GregorianCalendar(2015, 9, 16, 10, 15, 0).getTime();
+ final CronExpression parser = new CronExpression("0 15 10 ? * 6#3");
+ final Date date = new GregorianCalendar(2015, 10, 2).getTime();
+ final Date fireDate = parser.getPrevFireTime(date);
+ final Date expected = new GregorianCalendar(2015, 9, 16, 10, 15, 0).getTime();
assertEquals("Dates not equal.", expected, fireDate);
}
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/078f8c87/log4j-core/src/test/java/org/apache/logging/log4j/core/util/JsonUtilsTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/util/JsonUtilsTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/util/JsonUtilsTest.java
index fdfb28e..76e0f5a 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/util/JsonUtilsTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/util/JsonUtilsTest.java
@@ -29,8 +29,8 @@ public class JsonUtilsTest {
@Test
public void testQuoteCharSequenceAsString() throws Exception
{
- StringBuilder output = new StringBuilder();
- StringBuilder builder = new StringBuilder();
+ final StringBuilder output = new StringBuilder();
+ final StringBuilder builder = new StringBuilder();
builder.append("foobar");
JsonUtils.quoteAsString(builder, output);
assertEquals("foobar", output.toString());
@@ -45,14 +45,14 @@ public class JsonUtilsTest {
@Test
public void testQuoteLongCharSequenceAsString() throws Exception
{
- StringBuilder output = new StringBuilder();
- StringBuilder input = new StringBuilder();
- StringBuilder sb2 = new StringBuilder();
+ final StringBuilder output = new StringBuilder();
+ final StringBuilder input = new StringBuilder();
+ final StringBuilder sb2 = new StringBuilder();
for (int i = 0; i < 1111; ++i) {
input.append('"');
sb2.append("\\\"");
}
- String exp = sb2.toString();
+ final String exp = sb2.toString();
JsonUtils.quoteAsString(input, output);
assertEquals(2*input.length(), output.length());
assertEquals(exp, output.toString());
@@ -63,10 +63,10 @@ public class JsonUtilsTest {
@Test
public void testCharSequenceWithCtrlChars() throws Exception
{
- char[] input = new char[] { 0, 1, 2, 3, 4 };
- StringBuilder builder = new StringBuilder();
+ final char[] input = new char[] { 0, 1, 2, 3, 4 };
+ final StringBuilder builder = new StringBuilder();
builder.append(input);
- StringBuilder output = new StringBuilder();
+ final StringBuilder output = new StringBuilder();
JsonUtils.quoteAsString(builder, output);
assertEquals("\\u0000\\u0001\\u0002\\u0003\\u0004", output.toString());
}
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/078f8c87/log4j-core/src/test/java/org/apache/logging/log4j/core/util/datetime/FixedDateFormatTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/util/datetime/FixedDateFormatTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/util/datetime/FixedDateFormatTest.java
index 183a10c..55e5d59 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/util/datetime/FixedDateFormatTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/util/datetime/FixedDateFormatTest.java
@@ -1,374 +1,374 @@
-/*
- * 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.util.datetime;
-
-import java.text.SimpleDateFormat;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.Locale;
-import java.util.TimeZone;
-import java.util.concurrent.TimeUnit;
-
-import org.apache.logging.log4j.core.util.datetime.FixedDateFormat.FixedFormat;
-import org.junit.Test;
-
-import static org.apache.logging.log4j.core.util.datetime.FixedDateFormat.FixedFormat.*;
-import static org.junit.Assert.*;
-
-/**
- * Tests {@link FixedDateFormat}.
- */
-public class FixedDateFormatTest {
-
- @Test
- public void testFixedFormat_getDatePatternNullIfNoDateInPattern() {
- assertNull(FixedFormat.ABSOLUTE.getDatePattern());
- assertNull(FixedFormat.ABSOLUTE_PERIOD.getDatePattern());
- }
-
- @Test
- public void testFixedFormat_getDatePatternLengthZeroIfNoDateInPattern() {
- assertEquals(0, FixedFormat.ABSOLUTE.getDatePatternLength());
- assertEquals(0, FixedFormat.ABSOLUTE_PERIOD.getDatePatternLength());
- }
-
- @Test
- public void testFixedFormat_getFastDateFormatNullIfNoDateInPattern() {
- assertNull(FixedFormat.ABSOLUTE.getFastDateFormat());
- assertNull(FixedFormat.ABSOLUTE_PERIOD.getFastDateFormat());
- }
-
- @Test
- public void testFixedFormat_getDatePatternReturnsDatePatternIfExists() {
- assertEquals("yyyyMMdd", FixedFormat.COMPACT.getDatePattern());
- assertEquals("yyyy-MM-dd ", DEFAULT.getDatePattern());
- }
-
- @Test
- public void testFixedFormat_getDatePatternLengthReturnsDatePatternLength() {
- assertEquals("yyyyMMdd".length(), FixedFormat.COMPACT.getDatePatternLength());
- assertEquals("yyyy-MM-dd ".length(), DEFAULT.getDatePatternLength());
- }
-
- @Test
- public void testFixedFormat_getFastDateFormatNonNullIfDateInPattern() {
- assertNotNull(FixedFormat.COMPACT.getFastDateFormat());
- assertNotNull(DEFAULT.getFastDateFormat());
- assertEquals("yyyyMMdd", FixedFormat.COMPACT.getFastDateFormat().getPattern());
- assertEquals("yyyy-MM-dd ", DEFAULT.getFastDateFormat().getPattern());
- }
-
- @Test
- public void testCreateIfSupported_nonNullIfNameMatches() {
- for (final FixedDateFormat.FixedFormat format : FixedDateFormat.FixedFormat.values()) {
- final String[] options = {format.name()};
- assertNotNull(format.name(), FixedDateFormat.createIfSupported(options));
- }
- }
-
- @Test
- public void testCreateIfSupported_nonNullIfPatternMatches() {
- for (final FixedDateFormat.FixedFormat format : FixedDateFormat.FixedFormat.values()) {
- final String[] options = {format.getPattern()};
- assertNotNull(format.name(), FixedDateFormat.createIfSupported(options));
- }
- }
-
- @Test
- public void testCreateIfSupported_nullIfNameDoesNotMatch() {
- final String[] options = {"DEFAULT3"};
- assertNull("DEFAULT3", FixedDateFormat.createIfSupported(options));
- }
-
- @Test
- public void testCreateIfSupported_nullIfPatternDoesNotMatch() {
- final String[] options = {"y M d H m s"};
- assertNull("y M d H m s", FixedDateFormat.createIfSupported(options));
- }
-
- @Test
- public void testCreateIfSupported_defaultIfOptionsArrayNull() {
- final FixedDateFormat fmt = FixedDateFormat.createIfSupported((String[]) null);
- assertEquals(DEFAULT.getPattern(), fmt.getFormat());
- }
-
- @Test
- public void testCreateIfSupported_defaultIfOptionsArrayEmpty() {
- final FixedDateFormat fmt = FixedDateFormat.createIfSupported(new String[0]);
- assertEquals(DEFAULT.getPattern(), fmt.getFormat());
- }
-
- @Test
- public void testCreateIfSupported_defaultIfOptionsArrayWithSingleNullElement() {
- final FixedDateFormat fmt = FixedDateFormat.createIfSupported(new String[1]);
- assertEquals(DEFAULT.getPattern(), fmt.getFormat());
- assertEquals(TimeZone.getDefault(), fmt.getTimeZone());
- }
-
- @Test
- public void testCreateIfSupported_defaultTimeZoneIfOptionsArrayWithSecondNullElement() {
- final FixedDateFormat fmt = FixedDateFormat.createIfSupported(new String[] {DEFAULT.getPattern(), null, ""});
- assertEquals(DEFAULT.getPattern(), fmt.getFormat());
- assertEquals(TimeZone.getDefault(), fmt.getTimeZone());
- }
-
- @Test
- public void testCreateIfSupported_customTimeZoneIfOptionsArrayWithTimeZoneElement() {
- final FixedDateFormat fmt = FixedDateFormat.createIfSupported(new String[] {DEFAULT.getPattern(), "+08:00", ""});
- assertEquals(DEFAULT.getPattern(), fmt.getFormat());
- assertEquals(TimeZone.getTimeZone("+08:00"), fmt.getTimeZone());
- }
-
- @Test(expected = NullPointerException.class)
- public void testConstructorDisallowsNullFormat() {
- new FixedDateFormat(null, TimeZone.getDefault());
- }
-
- @Test(expected = NullPointerException.class)
- public void testConstructorDisallowsNullTimeZone() {
- new FixedDateFormat(FixedFormat.ABSOLUTE, null);
- }
-
- @Test
- public void testGetFormatReturnsConstructorFixedFormatPattern() {
- final FixedDateFormat format = new FixedDateFormat(FixedDateFormat.FixedFormat.ABSOLUTE, TimeZone.getDefault());
- assertSame(FixedDateFormat.FixedFormat.ABSOLUTE.getPattern(), format.getFormat());
- }
-
- @Test
- public void testFormatLong() {
- final long now = System.currentTimeMillis();
- final long start = now - TimeUnit.HOURS.toMillis(25);
- final long end = now + TimeUnit.HOURS.toMillis(25);
- for (final FixedFormat format : FixedFormat.values()) {
- final SimpleDateFormat simpleDF = new SimpleDateFormat(format.getPattern(), Locale.getDefault());
- final FixedDateFormat customTF = new FixedDateFormat(format, TimeZone.getDefault());
- for (long time = start; time < end; time += 12345) {
- final String actual = customTF.format(time);
- final String expected = simpleDF.format(new Date(time));
- assertEquals(format + "(" + format.getPattern() + ")" + "/" + time, expected, actual);
- }
- }
- }
-
- @Test
- public void testFormatLong_goingBackInTime() {
- final long now = System.currentTimeMillis();
- final long start = now - TimeUnit.HOURS.toMillis(25);
- final long end = now + TimeUnit.HOURS.toMillis(25);
- for (final FixedFormat format : FixedFormat.values()) {
- final SimpleDateFormat simpleDF = new SimpleDateFormat(format.getPattern(), Locale.getDefault());
- final FixedDateFormat customTF = new FixedDateFormat(format, TimeZone.getDefault());
- for (long time = end; time > start; time -= 12345) {
- final String actual = customTF.format(time);
- final String expected = simpleDF.format(new Date(time));
- assertEquals(format + "(" + format.getPattern() + ")" + "/" + time, expected, actual);
- }
- }
- }
-
- @Test
- public void testFormatLongCharArrayInt() {
- final long now = System.currentTimeMillis();
- final long start = now - TimeUnit.HOURS.toMillis(25);
- final long end = now + TimeUnit.HOURS.toMillis(25);
- final char[] buffer = new char[128];
- for (final FixedFormat format : FixedFormat.values()) {
- final SimpleDateFormat simpleDF = new SimpleDateFormat(format.getPattern(), Locale.getDefault());
- final FixedDateFormat customTF = new FixedDateFormat(format, TimeZone.getDefault());
- for (long time = start; time < end; time += 12345) {
- final int length = customTF.format(time, buffer, 23);
- final String actual = new String(buffer, 23, length);
- final String expected = simpleDF.format(new Date(time));
- assertEquals(format + "(" + format.getPattern() + ")" + "/" + time, expected, actual);
- }
- }
- }
-
- @Test
- public void testFormatLongCharArrayInt_goingBackInTime() {
- final long now = System.currentTimeMillis();
- final long start = now - TimeUnit.HOURS.toMillis(25);
- final long end = now + TimeUnit.HOURS.toMillis(25);
- final char[] buffer = new char[128];
- for (final FixedFormat format : FixedFormat.values()) {
- final SimpleDateFormat simpleDF = new SimpleDateFormat(format.getPattern(), Locale.getDefault());
- final FixedDateFormat customTF = new FixedDateFormat(format, TimeZone.getDefault());
- for (long time = end; time > start; time -= 12345) {
- final int length = customTF.format(time, buffer, 23);
- final String actual = new String(buffer, 23, length);
- final String expected = simpleDF.format(new Date(time));
- assertEquals(format + "(" + format.getPattern() + ")" + "/" + time, expected, actual);
- }
- }
- }
-
- @Test
- public void testDaylightSavingToSummerTime() throws Exception {
- final Calendar calendar = Calendar.getInstance();
- calendar.setTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z").parse("2017-03-12 00:00:00 UTC"));
-
- final SimpleDateFormat usCentral = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss,SSS", Locale.US);
- usCentral.setTimeZone(TimeZone.getTimeZone("US/Central"));
-
- final SimpleDateFormat utc = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss,SSS", Locale.US);
- utc.setTimeZone(TimeZone.getTimeZone("UTC"));
-
- final FixedDateFormat fixedUsCentral = FixedDateFormat.create(DEFAULT, TimeZone.getTimeZone("US/Central"));
- final FixedDateFormat fixedUtc = FixedDateFormat.create(DEFAULT, TimeZone.getTimeZone("UTC"));
-
- final String[][] expectedDstAndNoDst = {
- // US/Central, UTC
- { "2017-03-11 18:00:00,000", "2017-03-12 00:00:00,000" }, //
- { "2017-03-11 19:00:00,000", "2017-03-12 01:00:00,000" }, //
- { "2017-03-11 20:00:00,000", "2017-03-12 02:00:00,000" }, //
- { "2017-03-11 21:00:00,000", "2017-03-12 03:00:00,000" }, //
- { "2017-03-11 22:00:00,000", "2017-03-12 04:00:00,000" }, //
- { "2017-03-11 23:00:00,000", "2017-03-12 05:00:00,000" }, //
- { "2017-03-12 00:00:00,000", "2017-03-12 06:00:00,000" }, //
- { "2017-03-12 01:00:00,000", "2017-03-12 07:00:00,000" }, //
- { "2017-03-12 03:00:00,000", "2017-03-12 08:00:00,000" }, // DST jump at 2am US central time
- { "2017-03-12 04:00:00,000", "2017-03-12 09:00:00,000" }, //
- { "2017-03-12 05:00:00,000", "2017-03-12 10:00:00,000" }, //
- { "2017-03-12 06:00:00,000", "2017-03-12 11:00:00,000" }, //
- { "2017-03-12 07:00:00,000", "2017-03-12 12:00:00,000" }, //
- { "2017-03-12 08:00:00,000", "2017-03-12 13:00:00,000" }, //
- { "2017-03-12 09:00:00,000", "2017-03-12 14:00:00,000" }, //
- { "2017-03-12 10:00:00,000", "2017-03-12 15:00:00,000" }, //
- { "2017-03-12 11:00:00,000", "2017-03-12 16:00:00,000" }, //
- { "2017-03-12 12:00:00,000", "2017-03-12 17:00:00,000" }, //
- { "2017-03-12 13:00:00,000", "2017-03-12 18:00:00,000" }, //
- { "2017-03-12 14:00:00,000", "2017-03-12 19:00:00,000" }, //
- { "2017-03-12 15:00:00,000", "2017-03-12 20:00:00,000" }, //
- { "2017-03-12 16:00:00,000", "2017-03-12 21:00:00,000" }, //
- { "2017-03-12 17:00:00,000", "2017-03-12 22:00:00,000" }, //
- { "2017-03-12 18:00:00,000", "2017-03-12 23:00:00,000" }, // 24
- { "2017-03-12 19:00:00,000", "2017-03-13 00:00:00,000" }, //
- { "2017-03-12 20:00:00,000", "2017-03-13 01:00:00,000" }, //
- { "2017-03-12 21:00:00,000", "2017-03-13 02:00:00,000" }, //
- { "2017-03-12 22:00:00,000", "2017-03-13 03:00:00,000" }, //
- { "2017-03-12 23:00:00,000", "2017-03-13 04:00:00,000" }, //
- { "2017-03-13 00:00:00,000", "2017-03-13 05:00:00,000" }, //
- { "2017-03-13 01:00:00,000", "2017-03-13 06:00:00,000" }, //
- { "2017-03-13 02:00:00,000", "2017-03-13 07:00:00,000" }, //
- { "2017-03-13 03:00:00,000", "2017-03-13 08:00:00,000" }, //
- { "2017-03-13 04:00:00,000", "2017-03-13 09:00:00,000" }, //
- { "2017-03-13 05:00:00,000", "2017-03-13 10:00:00,000" }, //
- { "2017-03-13 06:00:00,000", "2017-03-13 11:00:00,000" }, //
- };
-
- TimeZone tz = TimeZone.getTimeZone("US/Central");
- for (int i = 0; i < 36; i++) {
- final Date date = calendar.getTime();
- assertEquals("SimpleDateFormat TZ=US Central", expectedDstAndNoDst[i][0], usCentral.format(date));
- assertEquals("SimpleDateFormat TZ=UTC", expectedDstAndNoDst[i][1], utc.format(date));
- assertEquals("FixedDateFormat TZ=US Central", expectedDstAndNoDst[i][0], fixedUsCentral.format(date.getTime()));
- assertEquals("FixedDateFormat TZ=UTC", expectedDstAndNoDst[i][1], fixedUtc.format(date.getTime()));
- calendar.add(Calendar.HOUR_OF_DAY, 1);
- }
- }
-
- @Test
- public void testDaylightSavingToWinterTime() throws Exception {
- final Calendar calendar = Calendar.getInstance();
- calendar.setTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z").parse("2017-11-05 00:00:00 UTC"));
-
- final SimpleDateFormat usCentral = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss,SSS", Locale.US);
- usCentral.setTimeZone(TimeZone.getTimeZone("US/Central"));
-
- final SimpleDateFormat utc = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss,SSS", Locale.US);
- utc.setTimeZone(TimeZone.getTimeZone("UTC"));
-
- final FixedDateFormat fixedUsCentral = FixedDateFormat.create(DEFAULT, TimeZone.getTimeZone("US/Central"));
- final FixedDateFormat fixedUtc = FixedDateFormat.create(DEFAULT, TimeZone.getTimeZone("UTC"));
-
- final String[][] expectedDstAndNoDst = {
- // US/Central, UTC
- { "2017-11-04 19:00:00,000", "2017-11-05 00:00:00,000" }, //
- { "2017-11-04 20:00:00,000", "2017-11-05 01:00:00,000" }, //
- { "2017-11-04 21:00:00,000", "2017-11-05 02:00:00,000" }, //
- { "2017-11-04 22:00:00,000", "2017-11-05 03:00:00,000" }, //
- { "2017-11-04 23:00:00,000", "2017-11-05 04:00:00,000" }, //
- { "2017-11-05 00:00:00,000", "2017-11-05 05:00:00,000" }, //
- { "2017-11-05 01:00:00,000", "2017-11-05 06:00:00,000" }, // DST jump at 2am US central time
- { "2017-11-05 01:00:00,000", "2017-11-05 07:00:00,000" }, //
- { "2017-11-05 02:00:00,000", "2017-11-05 08:00:00,000" }, //
- { "2017-11-05 03:00:00,000", "2017-11-05 09:00:00,000" }, //
- { "2017-11-05 04:00:00,000", "2017-11-05 10:00:00,000" }, //
- { "2017-11-05 05:00:00,000", "2017-11-05 11:00:00,000" }, //
- { "2017-11-05 06:00:00,000", "2017-11-05 12:00:00,000" }, //
- { "2017-11-05 07:00:00,000", "2017-11-05 13:00:00,000" }, //
- { "2017-11-05 08:00:00,000", "2017-11-05 14:00:00,000" }, //
- { "2017-11-05 09:00:00,000", "2017-11-05 15:00:00,000" }, //
- { "2017-11-05 10:00:00,000", "2017-11-05 16:00:00,000" }, //
- { "2017-11-05 11:00:00,000", "2017-11-05 17:00:00,000" }, //
- { "2017-11-05 12:00:00,000", "2017-11-05 18:00:00,000" }, //
- { "2017-11-05 13:00:00,000", "2017-11-05 19:00:00,000" }, //
- { "2017-11-05 14:00:00,000", "2017-11-05 20:00:00,000" }, //
- { "2017-11-05 15:00:00,000", "2017-11-05 21:00:00,000" }, //
- { "2017-11-05 16:00:00,000", "2017-11-05 22:00:00,000" }, //
- { "2017-11-05 17:00:00,000", "2017-11-05 23:00:00,000" }, // 24
- { "2017-11-05 18:00:00,000", "2017-11-06 00:00:00,000" }, //
- { "2017-11-05 19:00:00,000", "2017-11-06 01:00:00,000" }, //
- { "2017-11-05 20:00:00,000", "2017-11-06 02:00:00,000" }, //
- { "2017-11-05 21:00:00,000", "2017-11-06 03:00:00,000" }, //
- { "2017-11-05 22:00:00,000", "2017-11-06 04:00:00,000" }, //
- { "2017-11-05 23:00:00,000", "2017-11-06 05:00:00,000" }, //
- { "2017-11-06 00:00:00,000", "2017-11-06 06:00:00,000" }, //
- { "2017-11-06 01:00:00,000", "2017-11-06 07:00:00,000" }, //
- { "2017-11-06 02:00:00,000", "2017-11-06 08:00:00,000" }, //
- { "2017-11-06 03:00:00,000", "2017-11-06 09:00:00,000" }, //
- { "2017-11-06 04:00:00,000", "2017-11-06 10:00:00,000" }, //
- { "2017-11-06 05:00:00,000", "2017-11-06 11:00:00,000" }, //
- };
-
- TimeZone tz = TimeZone.getTimeZone("US/Central");
- for (int i = 0; i < 36; i++) {
- final Date date = calendar.getTime();
- //System.out.println(usCentral.format(date) + ", Fixed: " + fixedUsCentral.format(date.getTime()) + ", utc: " + utc.format(date));
- assertEquals("SimpleDateFormat TZ=US Central", expectedDstAndNoDst[i][0], usCentral.format(date));
- assertEquals("SimpleDateFormat TZ=UTC", expectedDstAndNoDst[i][1], utc.format(date));
- assertEquals("FixedDateFormat TZ=US Central", expectedDstAndNoDst[i][0], fixedUsCentral.format(date.getTime()));
- assertEquals("FixedDateFormat TZ=UTC", expectedDstAndNoDst[i][1], fixedUtc.format(date.getTime()));
- calendar.add(Calendar.HOUR_OF_DAY, 1);
- }
- }
- /**
- * This test case validates date pattern before and after DST
- * Base Date : 12 Mar 2017
- * Daylight Savings started on : 02:00 AM
- */
- @Test
- public void testFormatLong_goingBackInTime_DST() {
- final Calendar instance = Calendar.getInstance(TimeZone.getTimeZone("EST"));
- instance.set(2017, 2, 12, 2, 0);
- final long now = instance.getTimeInMillis();
- final long start = now - TimeUnit.HOURS.toMillis(1);
- final long end = now + TimeUnit.HOURS.toMillis(1);
-
- for (final FixedFormat format : FixedFormat.values()) {
- final SimpleDateFormat simpleDF = new SimpleDateFormat(format.getPattern(), Locale.getDefault());
- final FixedDateFormat customTF = new FixedDateFormat(format, TimeZone.getDefault());
- for (long time = end; time > start; time -= 12345) {
- final String actual = customTF.format(time);
- final String expected = simpleDF.format(new Date(time));
- assertEquals(format + "(" + format.getPattern() + ")" + "/" + time, expected, actual);
- }
- }
- }
-}
+/*
+ * 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.util.datetime;
+
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.Locale;
+import java.util.TimeZone;
+import java.util.concurrent.TimeUnit;
+
+import org.apache.logging.log4j.core.util.datetime.FixedDateFormat.FixedFormat;
+import org.junit.Test;
+
+import static org.apache.logging.log4j.core.util.datetime.FixedDateFormat.FixedFormat.*;
+import static org.junit.Assert.*;
+
+/**
+ * Tests {@link FixedDateFormat}.
+ */
+public class FixedDateFormatTest {
+
+ @Test
+ public void testFixedFormat_getDatePatternNullIfNoDateInPattern() {
+ assertNull(FixedFormat.ABSOLUTE.getDatePattern());
+ assertNull(FixedFormat.ABSOLUTE_PERIOD.getDatePattern());
+ }
+
+ @Test
+ public void testFixedFormat_getDatePatternLengthZeroIfNoDateInPattern() {
+ assertEquals(0, FixedFormat.ABSOLUTE.getDatePatternLength());
+ assertEquals(0, FixedFormat.ABSOLUTE_PERIOD.getDatePatternLength());
+ }
+
+ @Test
+ public void testFixedFormat_getFastDateFormatNullIfNoDateInPattern() {
+ assertNull(FixedFormat.ABSOLUTE.getFastDateFormat());
+ assertNull(FixedFormat.ABSOLUTE_PERIOD.getFastDateFormat());
+ }
+
+ @Test
+ public void testFixedFormat_getDatePatternReturnsDatePatternIfExists() {
+ assertEquals("yyyyMMdd", FixedFormat.COMPACT.getDatePattern());
+ assertEquals("yyyy-MM-dd ", DEFAULT.getDatePattern());
+ }
+
+ @Test
+ public void testFixedFormat_getDatePatternLengthReturnsDatePatternLength() {
+ assertEquals("yyyyMMdd".length(), FixedFormat.COMPACT.getDatePatternLength());
+ assertEquals("yyyy-MM-dd ".length(), DEFAULT.getDatePatternLength());
+ }
+
+ @Test
+ public void testFixedFormat_getFastDateFormatNonNullIfDateInPattern() {
+ assertNotNull(FixedFormat.COMPACT.getFastDateFormat());
+ assertNotNull(DEFAULT.getFastDateFormat());
+ assertEquals("yyyyMMdd", FixedFormat.COMPACT.getFastDateFormat().getPattern());
+ assertEquals("yyyy-MM-dd ", DEFAULT.getFastDateFormat().getPattern());
+ }
+
+ @Test
+ public void testCreateIfSupported_nonNullIfNameMatches() {
+ for (final FixedDateFormat.FixedFormat format : FixedDateFormat.FixedFormat.values()) {
+ final String[] options = {format.name()};
+ assertNotNull(format.name(), FixedDateFormat.createIfSupported(options));
+ }
+ }
+
+ @Test
+ public void testCreateIfSupported_nonNullIfPatternMatches() {
+ for (final FixedDateFormat.FixedFormat format : FixedDateFormat.FixedFormat.values()) {
+ final String[] options = {format.getPattern()};
+ assertNotNull(format.name(), FixedDateFormat.createIfSupported(options));
+ }
+ }
+
+ @Test
+ public void testCreateIfSupported_nullIfNameDoesNotMatch() {
+ final String[] options = {"DEFAULT3"};
+ assertNull("DEFAULT3", FixedDateFormat.createIfSupported(options));
+ }
+
+ @Test
+ public void testCreateIfSupported_nullIfPatternDoesNotMatch() {
+ final String[] options = {"y M d H m s"};
+ assertNull("y M d H m s", FixedDateFormat.createIfSupported(options));
+ }
+
+ @Test
+ public void testCreateIfSupported_defaultIfOptionsArrayNull() {
+ final FixedDateFormat fmt = FixedDateFormat.createIfSupported((String[]) null);
+ assertEquals(DEFAULT.getPattern(), fmt.getFormat());
+ }
+
+ @Test
+ public void testCreateIfSupported_defaultIfOptionsArrayEmpty() {
+ final FixedDateFormat fmt = FixedDateFormat.createIfSupported(new String[0]);
+ assertEquals(DEFAULT.getPattern(), fmt.getFormat());
+ }
+
+ @Test
+ public void testCreateIfSupported_defaultIfOptionsArrayWithSingleNullElement() {
+ final FixedDateFormat fmt = FixedDateFormat.createIfSupported(new String[1]);
+ assertEquals(DEFAULT.getPattern(), fmt.getFormat());
+ assertEquals(TimeZone.getDefault(), fmt.getTimeZone());
+ }
+
+ @Test
+ public void testCreateIfSupported_defaultTimeZoneIfOptionsArrayWithSecondNullElement() {
+ final FixedDateFormat fmt = FixedDateFormat.createIfSupported(new String[] {DEFAULT.getPattern(), null, ""});
+ assertEquals(DEFAULT.getPattern(), fmt.getFormat());
+ assertEquals(TimeZone.getDefault(), fmt.getTimeZone());
+ }
+
+ @Test
+ public void testCreateIfSupported_customTimeZoneIfOptionsArrayWithTimeZoneElement() {
+ final FixedDateFormat fmt = FixedDateFormat.createIfSupported(new String[] {DEFAULT.getPattern(), "+08:00", ""});
+ assertEquals(DEFAULT.getPattern(), fmt.getFormat());
+ assertEquals(TimeZone.getTimeZone("+08:00"), fmt.getTimeZone());
+ }
+
+ @Test(expected = NullPointerException.class)
+ public void testConstructorDisallowsNullFormat() {
+ new FixedDateFormat(null, TimeZone.getDefault());
+ }
+
+ @Test(expected = NullPointerException.class)
+ public void testConstructorDisallowsNullTimeZone() {
+ new FixedDateFormat(FixedFormat.ABSOLUTE, null);
+ }
+
+ @Test
+ public void testGetFormatReturnsConstructorFixedFormatPattern() {
+ final FixedDateFormat format = new FixedDateFormat(FixedDateFormat.FixedFormat.ABSOLUTE, TimeZone.getDefault());
+ assertSame(FixedDateFormat.FixedFormat.ABSOLUTE.getPattern(), format.getFormat());
+ }
+
+ @Test
+ public void testFormatLong() {
+ final long now = System.currentTimeMillis();
+ final long start = now - TimeUnit.HOURS.toMillis(25);
+ final long end = now + TimeUnit.HOURS.toMillis(25);
+ for (final FixedFormat format : FixedFormat.values()) {
+ final SimpleDateFormat simpleDF = new SimpleDateFormat(format.getPattern(), Locale.getDefault());
+ final FixedDateFormat customTF = new FixedDateFormat(format, TimeZone.getDefault());
+ for (long time = start; time < end; time += 12345) {
+ final String actual = customTF.format(time);
+ final String expected = simpleDF.format(new Date(time));
+ assertEquals(format + "(" + format.getPattern() + ")" + "/" + time, expected, actual);
+ }
+ }
+ }
+
+ @Test
+ public void testFormatLong_goingBackInTime() {
+ final long now = System.currentTimeMillis();
+ final long start = now - TimeUnit.HOURS.toMillis(25);
+ final long end = now + TimeUnit.HOURS.toMillis(25);
+ for (final FixedFormat format : FixedFormat.values()) {
+ final SimpleDateFormat simpleDF = new SimpleDateFormat(format.getPattern(), Locale.getDefault());
+ final FixedDateFormat customTF = new FixedDateFormat(format, TimeZone.getDefault());
+ for (long time = end; time > start; time -= 12345) {
+ final String actual = customTF.format(time);
+ final String expected = simpleDF.format(new Date(time));
+ assertEquals(format + "(" + format.getPattern() + ")" + "/" + time, expected, actual);
+ }
+ }
+ }
+
+ @Test
+ public void testFormatLongCharArrayInt() {
+ final long now = System.currentTimeMillis();
+ final long start = now - TimeUnit.HOURS.toMillis(25);
+ final long end = now + TimeUnit.HOURS.toMillis(25);
+ final char[] buffer = new char[128];
+ for (final FixedFormat format : FixedFormat.values()) {
+ final SimpleDateFormat simpleDF = new SimpleDateFormat(format.getPattern(), Locale.getDefault());
+ final FixedDateFormat customTF = new FixedDateFormat(format, TimeZone.getDefault());
+ for (long time = start; time < end; time += 12345) {
+ final int length = customTF.format(time, buffer, 23);
+ final String actual = new String(buffer, 23, length);
+ final String expected = simpleDF.format(new Date(time));
+ assertEquals(format + "(" + format.getPattern() + ")" + "/" + time, expected, actual);
+ }
+ }
+ }
+
+ @Test
+ public void testFormatLongCharArrayInt_goingBackInTime() {
+ final long now = System.currentTimeMillis();
+ final long start = now - TimeUnit.HOURS.toMillis(25);
+ final long end = now + TimeUnit.HOURS.toMillis(25);
+ final char[] buffer = new char[128];
+ for (final FixedFormat format : FixedFormat.values()) {
+ final SimpleDateFormat simpleDF = new SimpleDateFormat(format.getPattern(), Locale.getDefault());
+ final FixedDateFormat customTF = new FixedDateFormat(format, TimeZone.getDefault());
+ for (long time = end; time > start; time -= 12345) {
+ final int length = customTF.format(time, buffer, 23);
+ final String actual = new String(buffer, 23, length);
+ final String expected = simpleDF.format(new Date(time));
+ assertEquals(format + "(" + format.getPattern() + ")" + "/" + time, expected, actual);
+ }
+ }
+ }
+
+ @Test
+ public void testDaylightSavingToSummerTime() throws Exception {
+ final Calendar calendar = Calendar.getInstance();
+ calendar.setTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z").parse("2017-03-12 00:00:00 UTC"));
+
+ final SimpleDateFormat usCentral = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss,SSS", Locale.US);
+ usCentral.setTimeZone(TimeZone.getTimeZone("US/Central"));
+
+ final SimpleDateFormat utc = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss,SSS", Locale.US);
+ utc.setTimeZone(TimeZone.getTimeZone("UTC"));
+
+ final FixedDateFormat fixedUsCentral = FixedDateFormat.create(DEFAULT, TimeZone.getTimeZone("US/Central"));
+ final FixedDateFormat fixedUtc = FixedDateFormat.create(DEFAULT, TimeZone.getTimeZone("UTC"));
+
+ final String[][] expectedDstAndNoDst = {
+ // US/Central, UTC
+ { "2017-03-11 18:00:00,000", "2017-03-12 00:00:00,000" }, //
+ { "2017-03-11 19:00:00,000", "2017-03-12 01:00:00,000" }, //
+ { "2017-03-11 20:00:00,000", "2017-03-12 02:00:00,000" }, //
+ { "2017-03-11 21:00:00,000", "2017-03-12 03:00:00,000" }, //
+ { "2017-03-11 22:00:00,000", "2017-03-12 04:00:00,000" }, //
+ { "2017-03-11 23:00:00,000", "2017-03-12 05:00:00,000" }, //
+ { "2017-03-12 00:00:00,000", "2017-03-12 06:00:00,000" }, //
+ { "2017-03-12 01:00:00,000", "2017-03-12 07:00:00,000" }, //
+ { "2017-03-12 03:00:00,000", "2017-03-12 08:00:00,000" }, // DST jump at 2am US central time
+ { "2017-03-12 04:00:00,000", "2017-03-12 09:00:00,000" }, //
+ { "2017-03-12 05:00:00,000", "2017-03-12 10:00:00,000" }, //
+ { "2017-03-12 06:00:00,000", "2017-03-12 11:00:00,000" }, //
+ { "2017-03-12 07:00:00,000", "2017-03-12 12:00:00,000" }, //
+ { "2017-03-12 08:00:00,000", "2017-03-12 13:00:00,000" }, //
+ { "2017-03-12 09:00:00,000", "2017-03-12 14:00:00,000" }, //
+ { "2017-03-12 10:00:00,000", "2017-03-12 15:00:00,000" }, //
+ { "2017-03-12 11:00:00,000", "2017-03-12 16:00:00,000" }, //
+ { "2017-03-12 12:00:00,000", "2017-03-12 17:00:00,000" }, //
+ { "2017-03-12 13:00:00,000", "2017-03-12 18:00:00,000" }, //
+ { "2017-03-12 14:00:00,000", "2017-03-12 19:00:00,000" }, //
+ { "2017-03-12 15:00:00,000", "2017-03-12 20:00:00,000" }, //
+ { "2017-03-12 16:00:00,000", "2017-03-12 21:00:00,000" }, //
+ { "2017-03-12 17:00:00,000", "2017-03-12 22:00:00,000" }, //
+ { "2017-03-12 18:00:00,000", "2017-03-12 23:00:00,000" }, // 24
+ { "2017-03-12 19:00:00,000", "2017-03-13 00:00:00,000" }, //
+ { "2017-03-12 20:00:00,000", "2017-03-13 01:00:00,000" }, //
+ { "2017-03-12 21:00:00,000", "2017-03-13 02:00:00,000" }, //
+ { "2017-03-12 22:00:00,000", "2017-03-13 03:00:00,000" }, //
+ { "2017-03-12 23:00:00,000", "2017-03-13 04:00:00,000" }, //
+ { "2017-03-13 00:00:00,000", "2017-03-13 05:00:00,000" }, //
+ { "2017-03-13 01:00:00,000", "2017-03-13 06:00:00,000" }, //
+ { "2017-03-13 02:00:00,000", "2017-03-13 07:00:00,000" }, //
+ { "2017-03-13 03:00:00,000", "2017-03-13 08:00:00,000" }, //
+ { "2017-03-13 04:00:00,000", "2017-03-13 09:00:00,000" }, //
+ { "2017-03-13 05:00:00,000", "2017-03-13 10:00:00,000" }, //
+ { "2017-03-13 06:00:00,000", "2017-03-13 11:00:00,000" }, //
+ };
+
+ final TimeZone tz = TimeZone.getTimeZone("US/Central");
+ for (int i = 0; i < 36; i++) {
+ final Date date = calendar.getTime();
+ assertEquals("SimpleDateFormat TZ=US Central", expectedDstAndNoDst[i][0], usCentral.format(date));
+ assertEquals("SimpleDateFormat TZ=UTC", expectedDstAndNoDst[i][1], utc.format(date));
+ assertEquals("FixedDateFormat TZ=US Central", expectedDstAndNoDst[i][0], fixedUsCentral.format(date.getTime()));
+ assertEquals("FixedDateFormat TZ=UTC", expectedDstAndNoDst[i][1], fixedUtc.format(date.getTime()));
+ calendar.add(Calendar.HOUR_OF_DAY, 1);
+ }
+ }
+
+ @Test
+ public void testDaylightSavingToWinterTime() throws Exception {
+ final Calendar calendar = Calendar.getInstance();
+ calendar.setTime(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss Z").parse("2017-11-05 00:00:00 UTC"));
+
+ final SimpleDateFormat usCentral = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss,SSS", Locale.US);
+ usCentral.setTimeZone(TimeZone.getTimeZone("US/Central"));
+
+ final SimpleDateFormat utc = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss,SSS", Locale.US);
+ utc.setTimeZone(TimeZone.getTimeZone("UTC"));
+
+ final FixedDateFormat fixedUsCentral = FixedDateFormat.create(DEFAULT, TimeZone.getTimeZone("US/Central"));
+ final FixedDateFormat fixedUtc = FixedDateFormat.create(DEFAULT, TimeZone.getTimeZone("UTC"));
+
+ final String[][] expectedDstAndNoDst = {
+ // US/Central, UTC
+ { "2017-11-04 19:00:00,000", "2017-11-05 00:00:00,000" }, //
+ { "2017-11-04 20:00:00,000", "2017-11-05 01:00:00,000" }, //
+ { "2017-11-04 21:00:00,000", "2017-11-05 02:00:00,000" }, //
+ { "2017-11-04 22:00:00,000", "2017-11-05 03:00:00,000" }, //
+ { "2017-11-04 23:00:00,000", "2017-11-05 04:00:00,000" }, //
+ { "2017-11-05 00:00:00,000", "2017-11-05 05:00:00,000" }, //
+ { "2017-11-05 01:00:00,000", "2017-11-05 06:00:00,000" }, // DST jump at 2am US central time
+ { "2017-11-05 01:00:00,000", "2017-11-05 07:00:00,000" }, //
+ { "2017-11-05 02:00:00,000", "2017-11-05 08:00:00,000" }, //
+ { "2017-11-05 03:00:00,000", "2017-11-05 09:00:00,000" }, //
+ { "2017-11-05 04:00:00,000", "2017-11-05 10:00:00,000" }, //
+ { "2017-11-05 05:00:00,000", "2017-11-05 11:00:00,000" }, //
+ { "2017-11-05 06:00:00,000", "2017-11-05 12:00:00,000" }, //
+ { "2017-11-05 07:00:00,000", "2017-11-05 13:00:00,000" }, //
+ { "2017-11-05 08:00:00,000", "2017-11-05 14:00:00,000" }, //
+ { "2017-11-05 09:00:00,000", "2017-11-05 15:00:00,000" }, //
+ { "2017-11-05 10:00:00,000", "2017-11-05 16:00:00,000" }, //
+ { "2017-11-05 11:00:00,000", "2017-11-05 17:00:00,000" }, //
+ { "2017-11-05 12:00:00,000", "2017-11-05 18:00:00,000" }, //
+ { "2017-11-05 13:00:00,000", "2017-11-05 19:00:00,000" }, //
+ { "2017-11-05 14:00:00,000", "2017-11-05 20:00:00,000" }, //
+ { "2017-11-05 15:00:00,000", "2017-11-05 21:00:00,000" }, //
+ { "2017-11-05 16:00:00,000", "2017-11-05 22:00:00,000" }, //
+ { "2017-11-05 17:00:00,000", "2017-11-05 23:00:00,000" }, // 24
+ { "2017-11-05 18:00:00,000", "2017-11-06 00:00:00,000" }, //
+ { "2017-11-05 19:00:00,000", "2017-11-06 01:00:00,000" }, //
+ { "2017-11-05 20:00:00,000", "2017-11-06 02:00:00,000" }, //
+ { "2017-11-05 21:00:00,000", "2017-11-06 03:00:00,000" }, //
+ { "2017-11-05 22:00:00,000", "2017-11-06 04:00:00,000" }, //
+ { "2017-11-05 23:00:00,000", "2017-11-06 05:00:00,000" }, //
+ { "2017-11-06 00:00:00,000", "2017-11-06 06:00:00,000" }, //
+ { "2017-11-06 01:00:00,000", "2017-11-06 07:00:00,000" }, //
+ { "2017-11-06 02:00:00,000", "2017-11-06 08:00:00,000" }, //
+ { "2017-11-06 03:00:00,000", "2017-11-06 09:00:00,000" }, //
+ { "2017-11-06 04:00:00,000", "2017-11-06 10:00:00,000" }, //
+ { "2017-11-06 05:00:00,000", "2017-11-06 11:00:00,000" }, //
+ };
+
+ final TimeZone tz = TimeZone.getTimeZone("US/Central");
+ for (int i = 0; i < 36; i++) {
+ final Date date = calendar.getTime();
+ //System.out.println(usCentral.format(date) + ", Fixed: " + fixedUsCentral.format(date.getTime()) + ", utc: " + utc.format(date));
+ assertEquals("SimpleDateFormat TZ=US Central", expectedDstAndNoDst[i][0], usCentral.format(date));
+ assertEquals("SimpleDateFormat TZ=UTC", expectedDstAndNoDst[i][1], utc.format(date));
+ assertEquals("FixedDateFormat TZ=US Central", expectedDstAndNoDst[i][0], fixedUsCentral.format(date.getTime()));
+ assertEquals("FixedDateFormat TZ=UTC", expectedDstAndNoDst[i][1], fixedUtc.format(date.getTime()));
+ calendar.add(Calendar.HOUR_OF_DAY, 1);
+ }
+ }
+ /**
+ * This test case validates date pattern before and after DST
+ * Base Date : 12 Mar 2017
+ * Daylight Savings started on : 02:00 AM
+ */
+ @Test
+ public void testFormatLong_goingBackInTime_DST() {
+ final Calendar instance = Calendar.getInstance(TimeZone.getTimeZone("EST"));
+ instance.set(2017, 2, 12, 2, 0);
+ final long now = instance.getTimeInMillis();
+ final long start = now - TimeUnit.HOURS.toMillis(1);
+ final long end = now + TimeUnit.HOURS.toMillis(1);
+
+ for (final FixedFormat format : FixedFormat.values()) {
+ final SimpleDateFormat simpleDF = new SimpleDateFormat(format.getPattern(), Locale.getDefault());
+ final FixedDateFormat customTF = new FixedDateFormat(format, TimeZone.getDefault());
+ for (long time = end; time > start; time -= 12345) {
+ final String actual = customTF.format(time);
+ final String expected = simpleDF.format(new Date(time));
+ assertEquals(format + "(" + format.getPattern() + ")" + "/" + time, expected, actual);
+ }
+ }
+ }
+}
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/078f8c87/log4j-nosql/src/test/java/org/apache/logging/log4j/nosql/appender/cassandra/CassandraRule.java
----------------------------------------------------------------------
diff --git a/log4j-nosql/src/test/java/org/apache/logging/log4j/nosql/appender/cassandra/CassandraRule.java b/log4j-nosql/src/test/java/org/apache/logging/log4j/nosql/appender/cassandra/CassandraRule.java
index 02e2b74..36e2672 100644
--- a/log4j-nosql/src/test/java/org/apache/logging/log4j/nosql/appender/cassandra/CassandraRule.java
+++ b/log4j-nosql/src/test/java/org/apache/logging/log4j/nosql/appender/cassandra/CassandraRule.java
@@ -107,12 +107,12 @@ public class CassandraRule extends ExternalResource {
}
private void cancelOnWindows() {
- SecurityManager currentSecurityManager = System.getSecurityManager();
+ final SecurityManager currentSecurityManager = System.getSecurityManager();
try {
final SecurityManager securityManager = new SecurityManager() {
@Override
public void checkPermission(final Permission permission) {
- String permissionName = permission.getName();
+ final String permissionName = permission.getName();
if (permissionName != null && permissionName.startsWith("exitVM")) {
throw new SecurityException("test");
}
@@ -120,7 +120,7 @@ public class CassandraRule extends ExternalResource {
};
System.setSecurityManager(securityManager);
daemon.stop();
- } catch (SecurityException ex) {
+ } catch (final SecurityException ex) {
// ignore
} finally {
System.setSecurityManager(currentSecurityManager);
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/078f8c87/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/Log4jLogEventBenchmark.java
----------------------------------------------------------------------
diff --git a/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/Log4jLogEventBenchmark.java b/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/Log4jLogEventBenchmark.java
index 9326dbe..4c89f55 100644
--- a/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/Log4jLogEventBenchmark.java
+++ b/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/Log4jLogEventBenchmark.java
@@ -72,7 +72,7 @@ public class Log4jLogEventBenchmark {
@Benchmark
public Serializable createSerializableLogEventProxyWithoutException(final Blackhole bh) {
final Log4jLogEvent event = new Log4jLogEvent("a.b.c", null, "a.b.c", Level.INFO, MESSAGE, null, null);
- Serializable obj = Log4jLogEvent.serialize(event, false);
+ final Serializable obj = Log4jLogEvent.serialize(event, false);
bh.consume(obj);
return obj;
}
@@ -80,7 +80,7 @@ public class Log4jLogEventBenchmark {
@Benchmark
public Serializable createSerializableLogEventProxyWithoutExceptionWithLocation(final Blackhole bh) {
final Log4jLogEvent event = new Log4jLogEvent("a.b.c", null, "a.b.c", Level.INFO, MESSAGE, null, null);
- Serializable obj = Log4jLogEvent.serialize(event, true);
+ final Serializable obj = Log4jLogEvent.serialize(event, true);
bh.consume(obj);
return obj;
}
@@ -88,7 +88,7 @@ public class Log4jLogEventBenchmark {
@Benchmark
public Serializable createSerializableLogEventProxyWithException(final Blackhole bh) {
final Log4jLogEvent event = new Log4jLogEvent("a.b.c", null, "a.b.c", Level.INFO, MESSAGE, null, ERROR);
- Serializable obj = Log4jLogEvent.serialize(event, false);
+ final Serializable obj = Log4jLogEvent.serialize(event, false);
bh.consume(obj);
return obj;
}