66import com .google .gson .stream .JsonWriter ;
77import com .meilisearch .sdk .model .Key ;
88import java .io .IOException ;
9- import java .text .DateFormat ;
109import java .text .SimpleDateFormat ;
1110import java .time .Instant ;
1211import java .util .ArrayList ;
@@ -25,13 +24,13 @@ public class GsonKeyTypeAdapter extends TypeAdapter<Key> {
2524 private static final String KEY_EXPIRES_AT = "expiresAt" ;
2625 private static final String KEY_CREATED_AT = "createdAt" ;
2726 private static final String KEY_UPDATED_AT = "updatedAt" ;
28- private static final DateFormat DATE_FORMAT = createUtcDateFormat ();
29-
30- private static DateFormat createUtcDateFormat () {
31- SimpleDateFormat format = new SimpleDateFormat ("yyyy-MM-dd'T'HH:mm:ss'Z'" );
32- format .setTimeZone (TimeZone .getTimeZone ("UTC" ));
33- return format ;
34- }
27+ private static final ThreadLocal < SimpleDateFormat > DATE_FORMAT =
28+ ThreadLocal . withInitial (
29+ () -> {
30+ SimpleDateFormat format = new SimpleDateFormat ("yyyy-MM-dd'T'HH:mm:ss'Z'" );
31+ format .setTimeZone (TimeZone .getTimeZone ("UTC" ));
32+ return format ;
33+ });
3534
3635 @ Override
3736 public void write (JsonWriter writer , Key key ) throws IOException {
@@ -141,7 +140,7 @@ private void writeDate(JsonWriter writer, String key, Date value) throws IOExcep
141140 if (value == null ) {
142141 return ;
143142 }
144- writer .name (key ).value (DATE_FORMAT .format (value ));
143+ writer .name (key ).value (DATE_FORMAT .get (). format (value ));
145144 }
146145
147146 private void readStartObject (JsonReader reader ) throws IOException {
0 commit comments