From 7ab84dabb5c9f457c9ad7e6cba8f85c42824baf4 Mon Sep 17 00:00:00 2001 From: Fabio Kung <fkung@netflix.com> Date: Wed, 23 Oct 2019 11:11:29 -0700 Subject: [PATCH] no gson internals for date parsing/formatting Reapply changes from #366 to the code generated by openapi-generator, and keep the JSON file pinned (ignored by the generator) until those changes make it into the generator. --- kubernetes/.openapi-generator-ignore | 3 +++ kubernetes/src/main/java/io/kubernetes/client/JSON.java | 8 +++----- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/kubernetes/.openapi-generator-ignore b/kubernetes/.openapi-generator-ignore index f0efe74302..a3a858e063 100644 --- a/kubernetes/.openapi-generator-ignore +++ b/kubernetes/.openapi-generator-ignore @@ -4,3 +4,6 @@ *sbt* git_push.sh README.md + +# Remove when changes in kubernetes-client/java#366 make into upstream openapi-generator +src/main/java/io/kubernetes/client/JSON.java \ No newline at end of file diff --git a/kubernetes/src/main/java/io/kubernetes/client/JSON.java b/kubernetes/src/main/java/io/kubernetes/client/JSON.java index b79a7434d9..3a146613ef 100644 --- a/kubernetes/src/main/java/io/kubernetes/client/JSON.java +++ b/kubernetes/src/main/java/io/kubernetes/client/JSON.java @@ -17,7 +17,6 @@ import com.google.gson.GsonBuilder; import com.google.gson.JsonParseException; import com.google.gson.TypeAdapter; -import com.google.gson.internal.bind.util.ISO8601Utils; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.google.gson.JsonElement; @@ -37,7 +36,6 @@ import java.lang.reflect.Type; import java.text.DateFormat; import java.text.ParseException; -import java.text.ParsePosition; import java.util.Date; import java.util.Locale; import java.util.Map; @@ -318,7 +316,7 @@ public java.sql.Date read(JsonReader in) throws IOException { if (dateFormat != null) { return new java.sql.Date(dateFormat.parse(date).getTime()); } - return new java.sql.Date(ISO8601Utils.parse(date, new ParsePosition(0)).getTime()); + return new java.sql.Date(ISODateTimeFormat.basicDateTime().parseMillis(date)); } catch (ParseException e) { throw new JsonParseException(e); } @@ -353,7 +351,7 @@ public void write(JsonWriter out, Date date) throws IOException { if (dateFormat != null) { value = dateFormat.format(date); } else { - value = ISO8601Utils.format(date, true); + value = ISODateTimeFormat.basicDateTime().print(date.getTime()); } out.value(value); } @@ -372,7 +370,7 @@ public Date read(JsonReader in) throws IOException { if (dateFormat != null) { return dateFormat.parse(date); } - return ISO8601Utils.parse(date, new ParsePosition(0)); + return ISODateTimeFormat.basicDateTime().parseDateTime(date).toDate(); } catch (ParseException e) { throw new JsonParseException(e); }