private String[] getFieldNames(final Record record) { if (fieldNames != null) { return fieldNames; } final Set<String> allFields = new LinkedHashSet<>(); allFields.addAll(record.getRawFieldNames()); allFields.addAll(recordSchema.getFieldNames()); fieldNames = allFields.toArray(new String[0]); return fieldNames; }
private boolean isFieldPresent(final RecordField field, final Record record) { final Set<String> rawFieldNames = record.getRawFieldNames(); if (rawFieldNames.contains(field.getFieldName())) { return true; } for (final String alias : field.getAliases()) { if (rawFieldNames.contains(alias)) { return true; } } return false; }
private boolean recordHasField(RecordField field, Record record) { Set<String> recordFieldNames = record.getRawFieldNames(); if (recordFieldNames.contains(field.getFieldName())) { return true; } for (String alias : field.getAliases()) { if (recordFieldNames.contains(alias)) { return true; } } return false; } }
private void writeRecord(final Record record, final RecordSchema writeSchema, final JsonGenerator generator) throws IOException { RecordSchema schema = record.getSchema(); generator.writeStartObject(); for (int i = 0; i < schema.getFieldCount(); i++) { final RecordField field = schema.getField(i); final String fieldName = field.getFieldName(); final Object value = record.getValue(field); if (value == null) { if (nullSuppression.equals(NEVER_SUPPRESS.getValue()) || (nullSuppression.equals(SUPPRESS_MISSING.getValue())) && record.getRawFieldNames().contains(fieldName)) { generator.writeNullField(fieldName); } continue; } generator.writeFieldName(fieldName); final DataType dataType = schema.getDataType(fieldName).get(); writeValue(generator, value, fieldName, dataType); } generator.writeEndObject(); }
private boolean iterateThroughRecordWithoutSchema(Deque<String> tagsToOpen, Record record) throws XMLStreamException { boolean loopHasWritten = false; for (String fieldName : record.getRawFieldNames()) { Object value = record.getValue(fieldName); if (value != null) { boolean hasWritten = writeUnknownField(tagsToOpen, value, fieldName); if (hasWritten) { loopHasWritten = true; } } else { if (nullSuppression.equals(NullSuppression.NEVER_SUPPRESS) || nullSuppression.equals(NullSuppression.SUPPRESS_MISSING)) { writeAllTags(tagsToOpen, fieldName); writer.writeEndElement(); loopHasWritten = true; } } } return loopHasWritten; }
final Record destinationRecord = (Record) destinationValue; for (final String fieldName : lookupRecord.getRawFieldNames()) { final Object value = lookupRecord.getValue(fieldName); destinationRecord.setValue(fieldName, value);
for (final String fieldName : record.getRawFieldNames()) { final Object value = record.getValue(fieldName); if (value == null) { if (nullSuppression == NullSuppression.NEVER_SUPPRESS || (nullSuppression == NullSuppression.SUPPRESS_MISSING) && record.getRawFieldNames().contains(fieldName)) { generator.writeNullField(fieldName);
for (final String fieldName : record.getRawFieldNames()) { if (!schema.getDataType(fieldName).isPresent()) { result.addValidationError(new StandardValidationError(fieldPrefix + "/" + fieldName, ValidationErrorType.EXTRA_FIELD, "Field is not present in the schema"));
final DataType valueDataType = mapDataType.getValueType(); for (final String fieldName : record.getRawFieldNames()) { final Object fieldValue = record.getValue(fieldName); if (!isTypeCorrect(fieldValue, valueDataType)) {
final Record destinationRecord = (Record) destinationValue; for (final String fieldName : lookupRecord.getRawFieldNames()) { final Object value = lookupRecord.getValue(fieldName); destinationRecord.setValue(fieldName, value);
for (final String fieldName : record.getRawFieldNames()) { if (!schema.getDataType(fieldName).isPresent()) { result.addValidationError(new StandardValidationError(fieldPrefix + "/" + fieldName, ValidationErrorType.EXTRA_FIELD, "Field is not present in the schema"));
final DataType valueDataType = mapDataType.getValueType(); for (final String fieldName : record.getRawFieldNames()) { final Object fieldValue = record.getValue(fieldName); if (!isTypeCorrect(fieldValue, valueDataType)) {