From 64783ac526d883779b01287dd5dd2aa1dae3fbc7 Mon Sep 17 00:00:00 2001 From: DenverM80 Date: Mon, 21 Aug 2017 16:33:38 -0600 Subject: [PATCH] Force US locale for compatibility with English BP server --- .../ds3client/networking/NetworkClientImpl.java | 2 +- .../spectralogic/ds3client/utils/DateFormatter.java | 11 ++++++----- .../ds3client/utils/DateFormatter_Test.java | 13 ++++++++++++- 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/ds3-sdk/src/main/java/com/spectralogic/ds3client/networking/NetworkClientImpl.java b/ds3-sdk/src/main/java/com/spectralogic/ds3client/networking/NetworkClientImpl.java index 91d821f6b..938be7c24 100644 --- a/ds3-sdk/src/main/java/com/spectralogic/ds3client/networking/NetworkClientImpl.java +++ b/ds3-sdk/src/main/java/com/spectralogic/ds3client/networking/NetworkClientImpl.java @@ -271,7 +271,7 @@ private String buildPath() { private void addHeaders(final HttpRequest httpRequest) { // Add common headers. - final String date = DateFormatter.dateToRfc882(); + final String date = DateFormatter.dateToRfc822(); httpRequest.addHeader(HOST, NetUtils.buildHostField(NetworkClientImpl.this.connectionDetails)); httpRequest.addHeader(DATE, date); httpRequest.addHeader(CONTENT_TYPE, this.ds3Request.getContentType()); diff --git a/ds3-sdk/src/main/java/com/spectralogic/ds3client/utils/DateFormatter.java b/ds3-sdk/src/main/java/com/spectralogic/ds3client/utils/DateFormatter.java index 80ad6d688..f39c15132 100644 --- a/ds3-sdk/src/main/java/com/spectralogic/ds3client/utils/DateFormatter.java +++ b/ds3-sdk/src/main/java/com/spectralogic/ds3client/utils/DateFormatter.java @@ -17,19 +17,20 @@ import java.text.SimpleDateFormat; import java.util.Date; +import java.util.Locale; import java.util.TimeZone; public final class DateFormatter { final static private String RFC822FORMAT = "EEE, dd MMM yyyy HH:mm:ss Z"; /** - * Returns a RFC-882 formatted string with the current time. + * Returns a RFC-822 formatted string with the current time. */ - public static String dateToRfc882() { - return dateToRfc882(new Date()); + public static String dateToRfc822() { + return dateToRfc822(new Date()); } - public static String dateToRfc882(final Date date) { - final SimpleDateFormat sdf = new SimpleDateFormat(RFC822FORMAT); + public static String dateToRfc822(final Date date) { + final SimpleDateFormat sdf = new SimpleDateFormat(RFC822FORMAT, Locale.US); sdf.setTimeZone(TimeZone.getTimeZone("GMT")); return sdf.format(date); } diff --git a/ds3-sdk/src/test/java/com/spectralogic/ds3client/utils/DateFormatter_Test.java b/ds3-sdk/src/test/java/com/spectralogic/ds3client/utils/DateFormatter_Test.java index a43d926c2..93506a694 100644 --- a/ds3-sdk/src/test/java/com/spectralogic/ds3client/utils/DateFormatter_Test.java +++ b/ds3-sdk/src/test/java/com/spectralogic/ds3client/utils/DateFormatter_Test.java @@ -19,6 +19,7 @@ import org.junit.Test; import java.util.Date; +import java.util.Locale; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.MatcherAssert.assertThat; @@ -29,6 +30,16 @@ public class DateFormatter_Test { public void formatDate() { final Date date = new Date(1390414308132L); - assertThat(DateFormatter.dateToRfc882(date), is("Wed, 22 Jan 2014 18:11:48 +0000")); + assertThat(DateFormatter.dateToRfc822(date), is("Wed, 22 Jan 2014 18:11:48 +0000")); + } + + @Test + public void formatDateMandarin() { + final Locale defaultLocale = Locale.getDefault(); + Locale.setDefault(Locale.CHINESE); + final Date date = new Date(1390414308132L); + + assertThat(DateFormatter.dateToRfc822(date), is("Wed, 22 Jan 2014 18:11:48 +0000")); + Locale.setDefault(defaultLocale); } }