in rcfile/src/main/java/com/twitter/elephantbird/util/ColumnarMetadata.java [80:123]
static {
// initialize messageDescriptor and the three field descriptors
DescriptorProtos.FieldDescriptorProto classname =
DescriptorProtos.FieldDescriptorProto.newBuilder()
.setName("classname")
.setNumber(1)
.setType(Type.TYPE_STRING)
.setLabel(Label.LABEL_OPTIONAL)
.build();
DescriptorProtos.FieldDescriptorProto fieldId =
DescriptorProtos.FieldDescriptorProto.newBuilder()
.setName("fieldId")
.setNumber(2)
.setType(Type.TYPE_INT32)
.setLabel(Label.LABEL_REPEATED)
.build();
DescriptorProtos.FieldDescriptorProto nesting =
DescriptorProtos.FieldDescriptorProto.newBuilder()
.setName("nesting")
.setNumber(3)
.setType(Type.TYPE_INT32)
.setLabel(Label.LABEL_OPTIONAL)
.setDefaultValue("0")
.build();
try {
messageDescriptor = Protobufs.makeMessageDescriptor(
DescriptorProtos.DescriptorProto.newBuilder()
.setName("ColumnarMetadata")
.addField(classname)
.addField(fieldId)
.addField(nesting)
.build());
} catch (Descriptors.DescriptorValidationException e) {
throw new RuntimeException(e);
}
classnameDesc = messageDescriptor.findFieldByName("classname");
fieldIdDesc = messageDescriptor.findFieldByName("fieldId");
nestingDesc = messageDescriptor.findFieldByName("nesting");
}