|
34 | 34 |
|
35 | 35 | import java.util.List;
|
36 | 36 |
|
37 |
| -import static org.apache.parquet.schema.OriginalType.ENUM; |
38 | 37 | import static org.apache.parquet.schema.OriginalType.UTF8;
|
39 |
| -import static org.apache.parquet.schema.PrimitiveType.PrimitiveTypeName.BINARY; |
40 | 38 |
|
41 | 39 | /**
|
42 | 40 | * <p/>
|
@@ -86,26 +84,22 @@ private <T> Builder<? extends Builder<?, GroupBuilder<T>>, GroupBuilder<T>> addF
|
86 | 84 |
|
87 | 85 | ParquetType parquetType = getParquetType(descriptor);
|
88 | 86 | if (descriptor.isRepeated()) {
|
89 |
| - return addRepeatedPrimitive(descriptor, parquetType.primitiveType, builder); |
| 87 | + return addRepeatedPrimitive(descriptor, parquetType.primitiveType, parquetType.originalType, builder); |
90 | 88 | }
|
91 | 89 |
|
92 | 90 | return builder.primitive(parquetType.primitiveType, getRepetition(descriptor)).as(parquetType.originalType);
|
93 | 91 | }
|
94 | 92 |
|
95 | 93 | private <T> Builder<? extends Builder<?, GroupBuilder<T>>, GroupBuilder<T>> addRepeatedPrimitive(Descriptors.FieldDescriptor descriptor,
|
96 |
| - PrimitiveTypeName primitiveType, final GroupBuilder<T> builder) { |
| 94 | + PrimitiveTypeName primitiveType, |
| 95 | + OriginalType originalType, |
| 96 | + final GroupBuilder<T> builder) { |
97 | 97 | GroupBuilder<GroupBuilder<T>> result = builder.group(Type.Repetition.REQUIRED).as(OriginalType.LIST);
|
98 | 98 |
|
99 |
| - if (primitiveType == BINARY) { |
100 |
| - OriginalType originalType = descriptor.getJavaType() == JavaType.ENUM ? ENUM : UTF8; |
101 |
| - return result |
102 |
| - .primitive(primitiveType, Type.Repetition.REPEATED) |
103 |
| - .as(originalType) |
104 |
| - .named("array"); |
105 |
| - } |
106 |
| - |
107 | 99 | return result
|
108 |
| - .primitive(primitiveType, Type.Repetition.REPEATED).named("array"); |
| 100 | + .primitive(primitiveType, Type.Repetition.REPEATED) |
| 101 | + .as(originalType) |
| 102 | + .named("array"); |
109 | 103 | }
|
110 | 104 |
|
111 | 105 | private <T> GroupBuilder<GroupBuilder<T>> addMessageField(Descriptors.FieldDescriptor descriptor, final GroupBuilder<T> builder) {
|
|
0 commit comments