coner-tech / coner-core

DEPRECATED A REST API for autocross event operations
GNU Affero General Public License v3.0
7 stars 3 forks source link

Generated Java client uses Double instead of java.time.Instant #209

Closed carltonwhitehead closed 6 years ago

carltonwhitehead commented 6 years ago

When the core service responds with an ISO timestamp, the client fails to deserialize it into a Double. For example:

Caused by: java.lang.NumberFormatException: For input string: "2018-07-30T00:16:19.468Z"
    at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:2043)
    at sun.misc.FloatingDecimal.parseDouble(FloatingDecimal.java:110)
    at java.lang.Double.parseDouble(Double.java:538)
    at com.google.gson.stream.JsonReader.nextLong(JsonReader.java:970)
    at com.google.gson.internal.bind.TypeAdapters$11.read(TypeAdapters.java:325)
    ... 19 more
com.google.gson.JsonSyntaxException: java.lang.NumberFormatException: For input string: "2018-07-30T00:16:19.602Z"
    at com.google.gson.internal.bind.TypeAdapters$11.read(TypeAdapters.java:327)
    at com.google.gson.internal.bind.TypeAdapters$11.read(TypeAdapters.java:317)
    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:116)
    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:216)
    at com.google.gson.Gson.fromJson(Gson.java:879)
    at com.google.gson.Gson.fromJson(Gson.java:844)
    at com.google.gson.Gson.fromJson(Gson.java:793)
    at org.coner.core.client.JSON.deserialize(JSON.java:103)
    at org.coner.core.client.ApiClient.deserialize(ApiClient.java:839)
    at org.coner.core.client.ApiClient.handleResponse(ApiClient.java:1035)
    at org.coner.core.client.ApiClient.execute(ApiClient.java:969)
    at org.coner.core.client.api.EventsApi.addRawTimeToFirstRunInSequenceLackingOneWithHttpInfo(EventsApi.java:272)
    at org.coner.core.client.api.EventsApi.addRawTimeToFirstRunInSequenceLackingOne(EventsApi.java:257)
    at org.coner.timer.output.ConerCoreRunOutputWriter.write(ConerCoreRunOutputWriter.kt:13)
    at org.coner.timer.output.ConerCoreRunOutputWriter.write(ConerCoreRunOutputWriter.kt:7)
    at org.coner.timer.Timer.loop(Timer.kt:42)
    at org.coner.timer.Timer.access$loop(Timer.kt:9)
    at org.coner.timer.Timer$start$$inlined$synchronized$lambda$1.invoke(Timer.kt:24)
    at org.coner.timer.Timer$start$$inlined$synchronized$lambda$1.invoke(Timer.kt:9)
    at kotlin.concurrent.ThreadsKt$thread$thread$1.run(Thread.kt:30)
Caused by: java.lang.NumberFormatException: For input string: "2018-07-30T00:16:19.602Z"
    at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:2043)
    at sun.misc.FloatingDecimal.parseDouble(FloatingDecimal.java:110)
    at java.lang.Double.parseDouble(Double.java:538)
    at com.google.gson.stream.JsonReader.nextLong(JsonReader.java:970)
    at com.google.gson.internal.bind.TypeAdapters$11.read(TypeAdapters.java:325)
    ... 19 more