@@ -32,11 +32,11 @@ public void testCborBasicMap() throws IOException {
32
32
gen .close ();
33
33
34
34
byte [] bytes = payloadOut .toByteArray ();
35
- String hexData = javax . xml . bind . DatatypeConverter . printHexBinary (bytes );
35
+ String hexData = asHex (bytes );
36
36
37
37
assertTrue (hexData .equalsIgnoreCase ("bf6346756ef563416d7421ff" ));
38
38
}
39
-
39
+
40
40
public void testCborUnsizedMap () throws IOException {
41
41
/* {_"Fun": true, 1504: -33, 1505: false, 13171233041: 22}
42
42
@@ -72,8 +72,7 @@ public void testCborUnsizedMap() throws IOException {
72
72
gen .writeNumber (22 );
73
73
gen .close ();
74
74
75
- byte [] bytes = payloadOut .toByteArray ();
76
- String hexData = javax .xml .bind .DatatypeConverter .printHexBinary (bytes );
75
+ String hexData = asHex (payloadOut .toByteArray ());
77
76
78
77
assertTrue (hexData .equalsIgnoreCase ("bf6346756ef51905e038201905e1f41b000000031111111116ff" ));
79
78
}
@@ -125,9 +124,7 @@ public void testCborSizedMap() throws IOException {
125
124
gen .writeEndObject ();
126
125
gen .close ();
127
126
128
- byte [] bytes = payloadOut .toByteArray ();
129
- String hexData = javax .xml .bind .DatatypeConverter .printHexBinary (bytes );
130
-
127
+ String hexData = asHex (payloadOut .toByteArray ());
131
128
assertTrue (hexData .equalsIgnoreCase ("A51905e038201905e1f41905E26346756e63416d748202031905E3F4" ));
132
129
}
133
130
@@ -177,9 +174,8 @@ public void testCborSizedMapWithParserTest() throws IOException {
177
174
gen .writeEndObject ();
178
175
gen .close ();
179
176
180
- byte [] bytes = payloadOut .toByteArray ();
181
- String hexData = javax .xml .bind .DatatypeConverter .printHexBinary (bytes );
182
-
177
+ final byte [] bytes = payloadOut .toByteArray ();
178
+ String hexData = asHex (bytes );
183
179
assertTrue (hexData .equalsIgnoreCase ("BF1905e038201905e1f41905E26346756e1905E39F616303F4FF1B0000000311111111F4FF" ));
184
180
185
181
/*
@@ -211,9 +207,7 @@ public void testCborUnsizedMapWithArrayAsKey() throws IOException {
211
207
gen .writeEndArray ();
212
208
gen .close ();
213
209
214
- byte [] bytes = payloadOut .toByteArray ();
215
- String hexData = javax .xml .bind .DatatypeConverter .printHexBinary (bytes );
216
-
210
+ String hexData = asHex (payloadOut .toByteArray ());
217
211
assertTrue (hexData .equalsIgnoreCase ("bf61610161629f0203ffff" ));
218
212
}
219
213
@@ -273,9 +267,7 @@ public void testCborMultilevelMapWithMultilevelArrays() throws IOException {
273
267
gen .writeEndObject ();
274
268
gen .close ();
275
269
276
- byte [] bytes = payloadOut .toByteArray ();
277
- String hexData = javax .xml .bind .DatatypeConverter .printHexBinary (bytes );
278
-
270
+ String hexData = asHex (payloadOut .toByteArray ());
279
271
assertTrue (hexData .equalsIgnoreCase ("a461610161629f0203ff1905dd856346756e182c9f182d182e82182f1830ffa2636b6579bf67636f6d706c65781832ff183362353218351905debf18366576616c75651837a21838183d1839183eff" ));
280
272
}
281
273
@@ -309,9 +301,7 @@ public void testCborUnsizedMapWithAllInside() throws IOException {
309
301
gen .writeEndObject ();
310
302
gen .close ();
311
303
312
- byte [] bytes = payloadOut .toByteArray ();
313
- String hexData = javax .xml .bind .DatatypeConverter .printHexBinary (bytes );
314
-
304
+ String hexData = asHex (payloadOut .toByteArray ());
315
305
assertTrue (hexData .equalsIgnoreCase ("BF1905e0A11909C838201905e1f41905E26346756e1905E39F616303F4FF1B0000000311111111F4FF" ));
316
306
}
317
307
@@ -337,9 +327,7 @@ public void testCborArraysInArray() throws IOException {
337
327
gen .writeEndArray ();
338
328
gen .close ();
339
329
340
- byte [] bytes = payloadOut .toByteArray ();
341
- String hexData = javax .xml .bind .DatatypeConverter .printHexBinary (bytes );
342
-
330
+ String hexData = asHex (payloadOut .toByteArray ());
343
331
assertTrue (hexData .equalsIgnoreCase ("9f018202039f0405ffff" ));
344
332
}
345
333
@@ -384,9 +372,7 @@ public void testCborArraysInUnsizedArray() throws IOException {
384
372
gen .writeEndArray ();
385
373
gen .close ();
386
374
387
- byte [] bytes = payloadOut .toByteArray ();
388
- String hexData = javax .xml .bind .DatatypeConverter .printHexBinary (bytes );
389
-
375
+ String hexData = asHex (payloadOut .toByteArray ());
390
376
assertTrue (hexData .equalsIgnoreCase ("9f018202039f0405ff8306079f080808820101ff8209099f0001ffff" ));
391
377
}
392
378
@@ -428,9 +414,7 @@ public void testCborArraysInSizedArray() throws IOException {
428
414
gen .writeEndArray (); // [1,[_2,3,4,_][_4,[5,[_6,6,6]]],[7,8,[_9,10]]]
429
415
gen .close ();
430
416
431
- byte [] bytes = payloadOut .toByteArray ();
432
- String hexData = javax .xml .bind .DatatypeConverter .printHexBinary (bytes );
433
-
417
+ String hexData = asHex (payloadOut .toByteArray ());
434
418
assertTrue (hexData .equalsIgnoreCase ("84019f020304ff9f0482059f060606ffff8307089f090aff" ));
435
419
}
436
420
@@ -471,9 +455,7 @@ public void testCborSizedArray() throws IOException {
471
455
gen .writeEndArray ();
472
456
gen .close ();
473
457
474
- byte [] bytes = payloadOut .toByteArray ();
475
- String hexData = javax .xml .bind .DatatypeConverter .printHexBinary (bytes );
476
-
458
+ String hexData = asHex (payloadOut .toByteArray ());
477
459
assertTrue (hexData .equalsIgnoreCase ("8318219901000102030405060708090A0B0C0D0E0F101112131415161718181819181A181B181C181D181E181F1820182118221823182418251826182718281829182A182B182C182D182E182F1830183118321833183418351836183718381839183A183B183C183D183E183F1840184118421843184418451846184718481849184A184B184C184D184E184F1850185118521853185418551856185718581859185A185B185C185D185E185F1860186118621863186418651866186718681869186A186B186C186D186E186F1870187118721873187418751876187718781879187A187B187C187D187E187F1880188118821883188418851886188718881889188A188B188C188D188E188F1890189118921893189418951896189718981899189A189B189C189D189E189F18A018A118A218A318A418A518A618A718A818A918AA18AB18AC18AD18AE18AF18B018B118B218B318B418B518B618B718B818B918BA18BB18BC18BD18BE18BF18C018C118C218C318C418C518C618C718C818C918CA18CB18CC18CD18CE18CF18D018D118D218D318D418D518D618D718D818D918DA18DB18DC18DD18DE18DF18E018E118E218E318E418E518E618E718E818E918EA18EB18EC18ED18EE18EF18F018F118F218F318F418F518F618F718F818F918FA18FB18FC18FD18FE18FF1901001822" ));
478
460
}
479
461
@@ -496,9 +478,17 @@ public void testCborSizedArrayWithMap() throws IOException {
496
478
gen .writeEndArray ();
497
479
gen .close ();
498
480
499
- byte [] bytes = payloadOut .toByteArray ();
500
- String hexData = javax .xml .bind .DatatypeConverter .printHexBinary (bytes );
501
-
481
+ String hexData = asHex (payloadOut .toByteArray ());
502
482
assertTrue (hexData .equalsIgnoreCase ("826161bf6162616361646165ff" ));
503
483
}
504
- }
484
+
485
+ private String asHex (byte [] data ) {
486
+ // Let's NOT rely on JDK converters as things get trickier with Java 9.
487
+ // Brute force and ugly but will do
488
+ StringBuilder sb = new StringBuilder (data .length * 2 );
489
+ for (int i = 0 , end = data .length ; i < end ; ++i ) {
490
+ sb .append (String .format ("%02x" , data [i ] & 0xFF ));
491
+ }
492
+ return sb .toString ();
493
+ }
494
+ }
0 commit comments