CloudNetService / CloudNet

A modern application that can dynamically and easily deliver Minecraft oriented software
https://cloudnetservice.eu
Apache License 2.0
376 stars 119 forks source link

feat: add serializers for java.time classes to gson #1417

Closed 0utplay closed 3 months ago

0utplay commented 4 months ago

Motivation

Serialization of many java.time classes is not working by default with gson but we still need to be able to serialize these classes

Modification

Added the (de-)serializer for the most common java.time classes.

Result

The serialization of these classes is working properly

github-actions[bot] commented 3 months ago

Test Results

 45 files  + 1   45 suites  +1   1m 52s :stopwatch: +19s 417 tests +41  417 :white_check_mark: +41  0 :zzz: ±0  0 :x: ±0  748 runs  +41  748 :white_check_mark: +41  0 :zzz: ±0  0 :x: ±0 

Results for commit b26047b8. ± Comparison against base commit ee44ac75.

This pull request removes 26 and adds 67 tests. Note that renamed tests count towards both. ``` eu.cloudnetservice.driver.document.DocumentSerialisationTest ‑ [4] {"b":1,"s":2,"i":3,"l":4,"f":5.0,"d":6.0,"c":"/","string":"Hello, World!","bol":true,"cloud":["Ben?","Yes","No","HoHoHoHo"],"world":{"hello":"world","insane":"!","this":"is"}}, PRETTY eu.cloudnetservice.driver.network.rpc.object.DefaultObjectMapperTest ‑ [10] 10413, null eu.cloudnetservice.driver.network.rpc.object.DefaultObjectMapperTest ‑ [1] {test2=test3, test=test1}, class java.lang.String, class java.lang.String eu.cloudnetservice.driver.network.rpc.object.DefaultObjectMapperTest ‑ [23] 2024-06-16T10:34:32.112788248Z eu.cloudnetservice.driver.network.rpc.object.DefaultObjectMapperTest ‑ [24] 2024-06-16T10:26:12.112792236Z eu.cloudnetservice.driver.network.rpc.object.DefaultObjectMapperTest ‑ [2] JVR85262UO04APCLBFJB3WE24, null eu.cloudnetservice.driver.network.rpc.object.DefaultObjectMapperTest ‑ [2] {test2=456, test=123}, class java.lang.String, class java.lang.Integer eu.cloudnetservice.driver.network.rpc.object.DefaultObjectMapperTest ‑ [3] 125660763, null eu.cloudnetservice.driver.network.rpc.object.DefaultObjectMapperTest ‑ [3] Lobbyhello156:8ac699f8-3d53-4535-896c-03a2f8e63a4a eu.cloudnetservice.driver.network.rpc.object.DefaultObjectMapperTest ‑ [3] {test2=[678, 456], test=[123, 456]}, class java.lang.String, java.util.List … ``` ``` eu.cloudnetservice.driver.document.DocumentSerialisationTest ‑ [4] {"b":1,"s":2,"i":3,"l":4,"f":5.0,"d":6.0,"c":"/","string":"Hello, World!","bol":true,"cloud":["Ben?","Yes","No","HoHoHoHo"],"world":{"this":"is","hello":"world","insane":"!"}}, PRETTY eu.cloudnetservice.driver.document.gson.JavaTimeSerializerTest ‑ [10] PT33H20M eu.cloudnetservice.driver.document.gson.JavaTimeSerializerTest ‑ [11] 1970-01-01 eu.cloudnetservice.driver.document.gson.JavaTimeSerializerTest ‑ [12] -999999999-01-01 eu.cloudnetservice.driver.document.gson.JavaTimeSerializerTest ‑ [13] +999999999-12-31 eu.cloudnetservice.driver.document.gson.JavaTimeSerializerTest ‑ [14] 2024-06-16 eu.cloudnetservice.driver.document.gson.JavaTimeSerializerTest ‑ [15] 2003-09-18 eu.cloudnetservice.driver.document.gson.JavaTimeSerializerTest ‑ [16] 1999-12-31 eu.cloudnetservice.driver.document.gson.JavaTimeSerializerTest ‑ [17] 1989-11-09 eu.cloudnetservice.driver.document.gson.JavaTimeSerializerTest ‑ [18] 1871-01-18 … ```