16
16
import java .lang .reflect .ParameterizedType ;
17
17
import java .lang .reflect .Type ;
18
18
import java .math .BigDecimal ;
19
+ import java .sql .Timestamp ;
19
20
import java .util .ArrayList ;
20
21
import java .util .Arrays ;
21
22
import java .util .Calendar ;
@@ -163,7 +164,7 @@ public void testDeserializerDeserializationByType() {
163
164
JsonbConfig config = new JsonbConfig ().withDeserializers (new CrateDeserializer ());
164
165
Jsonb jsonb = JsonbBuilder .create (config );
165
166
166
- Box box = createPojoWithDates ();
167
+ Box box = createPojoWithDates (getExpectedDate () );
167
168
168
169
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\" }" ;
169
170
@@ -250,13 +251,19 @@ private static Date getExpectedDate() {
250
251
return new Calendar .Builder ().setDate (2015 , 4 , 14 ).setTimeOfDay (11 , 10 , 1 ).setTimeZone (TimeZone .getTimeZone ("Z" )).build ().getTime ();
251
252
}
252
253
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
+
253
260
@ Test
254
261
public void testSerializationUsingConversion () {
255
262
JsonbConfig config = new JsonbConfig ().withSerializers (new CrateSerializerWithConversion ());
256
263
Jsonb jsonb = JsonbBuilder .create (config );
257
264
258
265
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 () )));
260
267
}
261
268
262
269
@ Test
@@ -567,8 +574,13 @@ public void setStringProperty(String stringProperty) {
567
574
}
568
575
}
569
576
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 ) {
572
584
Box box = createPojo ();
573
585
box .crate .date = date ;
574
586
box .crate .crateInner .date = date ;
@@ -581,7 +593,6 @@ private static Box createPojo() {
581
593
box .crate = new Crate ();
582
594
box .secondBoxStr = "Second box string" ;
583
595
584
-
585
596
box .crate .crateInner = createCrateInner ("Single inner" );
586
597
587
598
box .crate .crateInnerList = new ArrayList <>();
0 commit comments