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 ;
@@ -163,7 +164,7 @@ public void testDeserializerDeserializationByType() {
163164        JsonbConfig  config  = new  JsonbConfig ().withDeserializers (new  CrateDeserializer ());
164165        Jsonb  jsonb  = JsonbBuilder .create (config );
165166
166-         Box  box  = createPojoWithDates ();
167+         Box  box  = createPojoWithDates (getExpectedDate () );
167168
168169        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\" }" ;
169170
@@ -250,13 +251,19 @@ private static Date getExpectedDate() {
250251        return  new  Calendar .Builder ().setDate (2015 , 4 , 14 ).setTimeOfDay (11 , 10 , 1 ).setTimeZone (TimeZone .getTimeZone ("Z" )).build ().getTime ();
251252    }
252253
254+     @ Test 
255+     public  void  testSqlTimestampSerialization () {
256+         Box  box  = createPojoWithTimestamp (new  Timestamp (getExpectedDate ().getTime ()));
257+         assertTrue (defaultJsonb .toJson (box ).contains ("\" timestamp\" :\" 05/14/2015 @ 11:10\" " ));
258+     }
259+ 
253260    @ Test 
254261    public  void  testSerializationUsingConversion () {
255262        JsonbConfig  config  = new  JsonbConfig ().withSerializers (new  CrateSerializerWithConversion ());
256263        Jsonb  jsonb  = JsonbBuilder .create (config );
257264
258265        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\" }" ;
259-         assertEquals (json , jsonb .toJson (createPojoWithDates ()));
266+         assertEquals (json , jsonb .toJson (createPojoWithDates (getExpectedDate () )));
260267    }
261268
262269    @ Test 
@@ -567,8 +574,13 @@ public void setStringProperty(String stringProperty) {
567574        }
568575    }
569576
570-     private  static  Box  createPojoWithDates () {
571-         Date  date  = getExpectedDate ();
577+     private  static  Box  createPojoWithTimestamp (Timestamp  timestamp ) {
578+         Box  box  = createPojo ();
579+         box .crate .timestamp  = timestamp ;
580+         return  box ;
581+     }
582+ 
583+     private  static  Box  createPojoWithDates (Date  date ) {
572584        Box  box  = createPojo ();
573585        box .crate .date  = date ;
574586        box .crate .crateInner .date  = date ;
@@ -581,7 +593,6 @@ private static Box createPojo() {
581593        box .crate  = new  Crate ();
582594        box .secondBoxStr  = "Second box string" ;
583595
584- 
585596        box .crate .crateInner  = createCrateInner ("Single inner" );
586597
587598        box .crate .crateInnerList  = new  ArrayList <>();
0 commit comments