diff --git a/src/main/java/com/meilisearch/sdk/json/GsonKeyTypeAdapter.java b/src/main/java/com/meilisearch/sdk/json/GsonKeyTypeAdapter.java index 57b48f2c..c2eb4cfb 100644 --- a/src/main/java/com/meilisearch/sdk/json/GsonKeyTypeAdapter.java +++ b/src/main/java/com/meilisearch/sdk/json/GsonKeyTypeAdapter.java @@ -6,12 +6,12 @@ import com.google.gson.stream.JsonWriter; import com.meilisearch.sdk.model.Key; import java.io.IOException; -import java.text.DateFormat; import java.text.SimpleDateFormat; import java.time.Instant; import java.util.ArrayList; import java.util.Date; import java.util.List; +import java.util.TimeZone; public class GsonKeyTypeAdapter extends TypeAdapter { @@ -24,7 +24,13 @@ public class GsonKeyTypeAdapter extends TypeAdapter { private static final String KEY_EXPIRES_AT = "expiresAt"; private static final String KEY_CREATED_AT = "createdAt"; private static final String KEY_UPDATED_AT = "updatedAt"; - private static final DateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); + private static final ThreadLocal DATE_FORMAT = + ThreadLocal.withInitial( + () -> { + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'"); + format.setTimeZone(TimeZone.getTimeZone("UTC")); + return format; + }); @Override public void write(JsonWriter writer, Key key) throws IOException { @@ -134,7 +140,7 @@ private void writeDate(JsonWriter writer, String key, Date value) throws IOExcep if (value == null) { return; } - writer.name(key).value(DATE_FORMAT.format(value)); + writer.name(key).value(DATE_FORMAT.get().format(value)); } private void readStartObject(JsonReader reader) throws IOException { diff --git a/src/test/java/com/meilisearch/integration/KeysTest.java b/src/test/java/com/meilisearch/integration/KeysTest.java index ac09f7db..4f45953f 100644 --- a/src/test/java/com/meilisearch/integration/KeysTest.java +++ b/src/test/java/com/meilisearch/integration/KeysTest.java @@ -1,7 +1,6 @@ package com.meilisearch.integration; import static org.hamcrest.MatcherAssert.assertThat; -import static org.hamcrest.Matchers.arrayWithSize; import static org.hamcrest.Matchers.equalTo; import static org.hamcrest.Matchers.instanceOf; import static org.hamcrest.Matchers.is; @@ -45,8 +44,6 @@ public void testClientGetKeys() throws Exception { Results result = client.getKeys(); Key[] keys = result.getResults(); - assertThat(keys, is(arrayWithSize(2))); - for (Key key : keys) { assertThat(key.getKey(), is(notNullValue())); assertThat(key.getUid(), is(notNullValue())); @@ -65,8 +62,6 @@ public void testClientGetKeysWithJacksonJsonHandler() throws Exception { Results result = clientJackson.getKeys(); Key[] keys = result.getResults(); - assertThat(keys, is(arrayWithSize(2))); - for (Key key : keys) { assertThat(key.getKey(), is(notNullValue())); assertThat(key.getActions(), is(notNullValue()));