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 ;
@@ -161,7 +162,7 @@ public void testDeserializerDeserializationByType() {
161
162
JsonbConfig config = new JsonbConfig ().withDeserializers (new CrateDeserializer ());
162
163
Jsonb jsonb = JsonbBuilder .create (config );
163
164
164
- Box box = createPojoWithDates ();
165
+ Box box = createPojoWithDates (getExpectedDate () );
165
166
166
167
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\" }" ;
167
168
@@ -248,13 +249,20 @@ private static Date getExpectedDate() {
248
249
return new Calendar .Builder ().setDate (2015 , 4 , 14 ).setTimeOfDay (11 , 10 , 1 ).setTimeZone (TimeZone .getTimeZone ("Z" )).build ().getTime ();
249
250
}
250
251
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
+
251
259
@ Test
252
260
public void testSerializationUsingConversion () {
253
261
JsonbConfig config = new JsonbConfig ().withSerializers (new CrateSerializerWithConversion ());
254
262
Jsonb jsonb = JsonbBuilder .create (config );
255
263
256
264
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 () )));
258
266
}
259
267
260
268
@ Test
@@ -565,8 +573,13 @@ public void setStringProperty(String stringProperty) {
565
573
}
566
574
}
567
575
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 ) {
570
583
Box box = createPojo ();
571
584
box .crate .date = date ;
572
585
box .crate .crateInner .date = date ;
@@ -579,7 +592,6 @@ private static Box createPojo() {
579
592
box .crate = new Crate ();
580
593
box .secondBoxStr = "Second box string" ;
581
594
582
-
583
595
box .crate .crateInner = createCrateInner ("Single inner" );
584
596
585
597
box .crate .crateInnerList = new ArrayList <>();
0 commit comments