File tree Expand file tree Collapse file tree 2 files changed +13
-3
lines changed
main/java/org/apache/parquet/variant
test/java/org/apache/parquet/variant Expand file tree Collapse file tree 2 files changed +13
-3
lines changed Original file line number Diff line number Diff line change 3333import java .util .Arrays ;
3434import java .util .Base64 ;
3535import java .util .Locale ;
36+ import java .util .UUID ;
3637
3738/**
3839 * This Variant class holds the Variant-encoded value and metadata binary values.
@@ -129,8 +130,11 @@ public byte[] getBinary() {
129130 /**
130131 * @return the UUID value
131132 */
132- public byte [] getUUID () {
133- return VariantUtil .getUUID (value , pos );
133+ public UUID getUUID () {
134+ byte [] uuidBytes = VariantUtil .getUUID (value , pos );
135+ long msb = ByteBuffer .wrap (uuidBytes , 0 , 8 ).order (ByteOrder .BIG_ENDIAN ).getLong ();
136+ long lsb = ByteBuffer .wrap (uuidBytes , 8 , 8 ).order (ByteOrder .BIG_ENDIAN ).getLong ();
137+ return new UUID (msb , lsb );
134138 }
135139
136140 /**
Original file line number Diff line number Diff line change 2222import com .fasterxml .jackson .databind .ObjectMapper ;
2323import java .io .IOException ;
2424import java .math .BigDecimal ;
25+ import java .nio .ByteBuffer ;
26+ import java .nio .ByteOrder ;
2527import java .security .SecureRandom ;
2628import java .time .Instant ;
2729import java .time .LocalDate ;
3133import java .util .Arrays ;
3234import java .util .Base64 ;
3335import java .util .List ;
36+ import java .util .UUID ;
3437import java .util .concurrent .TimeUnit ;
3538import java .util .stream .IntStream ;
3639import org .junit .Assert ;
@@ -346,7 +349,10 @@ public void testUUID() {
346349 vb .appendUUID (uuid );
347350 Assert .assertEquals (
348351 "\" 00112233-4455-6677-8899-aabbccddeeff\" " , vb .result ().toJson ());
349- Assert .assertArrayEquals (uuid , vb .result ().getUUID ());
352+ long msb = ByteBuffer .wrap (uuid , 0 , 8 ).order (ByteOrder .BIG_ENDIAN ).getLong ();
353+ long lsb = ByteBuffer .wrap (uuid , 8 , 8 ).order (ByteOrder .BIG_ENDIAN ).getLong ();
354+ UUID expected = new UUID (msb , lsb );
355+ Assert .assertEquals (expected , vb .result ().getUUID ());
350356 }
351357
352358 @ Test
You can’t perform that action at this time.
0 commit comments