1616import  java .lang .reflect .ParameterizedType ;
1717import  java .lang .reflect .Type ;
1818import  java .math .BigDecimal ;
19+ import  java .sql .Timestamp ;
1920import  java .util .ArrayList ;
2021import  java .util .Arrays ;
2122import  java .util .Calendar ;
@@ -161,7 +162,7 @@ public void testDeserializerDeserializationByType() {
161162        JsonbConfig  config  = new  JsonbConfig ().withDeserializers (new  CrateDeserializer ());
162163        Jsonb  jsonb  = JsonbBuilder .create (config );
163164
164-         Box  box  = createPojoWithDates ();
165+         Box  box  = createPojoWithDates (getExpectedDate () );
165166
166167        String  expected  = "{\" boxStr\" :\" Box string\" ,\" crate\" :{\" crateInner\" :{\" crateInnerBigDec\" :10,\" crate_inner_str\" :\" Single inner\" ,\" date\" :\" 14.05.2015 || 11:10:01\" },\" crateInnerList\" :[{\" crateInnerBigDec\" :10,\" crate_inner_str\" :\" List inner 0\" },{\" crateInnerBigDec\" :10,\" crate_inner_str\" :\" List inner 1\" }],\" date\" :\" 2015-05-14T11:10:01\" },\" secondBoxStr\" :\" Second box string\" }" ;
167168
@@ -248,13 +249,20 @@ private static Date getExpectedDate() {
248249        return  new  Calendar .Builder ().setDate (2015 , 4 , 14 ).setTimeOfDay (11 , 10 , 1 ).setTimeZone (TimeZone .getTimeZone ("Z" )).build ().getTime ();
249250    }
250251
252+     @ Test 
253+     public  void  testSqlTimestampSerialization () {
254+         Box  box  = createPojoWithTimestamp (new  Timestamp (getExpectedDate ().getTime ()));
255+ 
256+         assertTrue (defaultJsonb .toJson (box ).contains ("\" timestamp\" :\" 05/14/2015 @ 14:10\" " ));
257+     }
258+ 
251259    @ Test 
252260    public  void  testSerializationUsingConversion () {
253261        JsonbConfig  config  = new  JsonbConfig ().withSerializers (new  CrateSerializerWithConversion ());
254262        Jsonb  jsonb  = JsonbBuilder .create (config );
255263
256264        String  json  = "{\" boxStr\" :\" Box string\" ,\" crate\" :{\" crateStr\" :\" REPLACED crate str\" ,\" crateInner\" :{\" crateInnerBigDec\" :10,\" crate_inner_str\" :\" Single inner\" ,\" date\" :\" 14.05.2015 || 11:10:01\" },\" crateInnerList\" :[{\" crateInnerBigDec\" :10,\" crate_inner_str\" :\" List inner 0\" },{\" crateInnerBigDec\" :10,\" crate_inner_str\" :\" List inner 1\" }],\" crateBigDec\" :54321,\" date-converted\" :\" 2015-05-14T11:10:01Z[UTC]\" },\" secondBoxStr\" :\" Second box string\" }" ;
257-         assertEquals (json , jsonb .toJson (createPojoWithDates ()));
265+         assertEquals (json , jsonb .toJson (createPojoWithDates (getExpectedDate () )));
258266    }
259267
260268    @ Test 
@@ -565,8 +573,13 @@ public void setStringProperty(String stringProperty) {
565573        }
566574    }
567575
568-     private  static  Box  createPojoWithDates () {
569-         Date  date  = getExpectedDate ();
576+     private  static  Box  createPojoWithTimestamp (Timestamp  timestamp ) {
577+         Box  box  = createPojo ();
578+         box .crate .timestamp  = timestamp ;
579+         return  box ;
580+     }
581+ 
582+     private  static  Box  createPojoWithDates (Date  date ) {
570583        Box  box  = createPojo ();
571584        box .crate .date  = date ;
572585        box .crate .crateInner .date  = date ;
@@ -579,7 +592,6 @@ private static Box createPojo() {
579592        box .crate  = new  Crate ();
580593        box .secondBoxStr  = "Second box string" ;
581594
582- 
583595        box .crate .crateInner  = createCrateInner ("Single inner" );
584596
585597        box .crate .crateInnerList  = new  ArrayList <>();
0 commit comments