use of org.apache.kafka.connect.data.Field in project debezium by debezium.
the class TableSchemaBuilder method fieldsForColumns.
protected Field[] fieldsForColumns(Schema schema, List<Column> columns) {
Field[] fields = new Field[columns.size()];
AtomicInteger i = new AtomicInteger(0);
columns.forEach(column -> {
// may be null if the field is unused ...
Field field = schema.field(column.name());
fields[i.getAndIncrement()] = field;
});
return fields;
}
use of org.apache.kafka.connect.data.Field in project dhis2-core by dhis2.
the class DbChangeEventHandler method getTrackedEntityAttributeValueId.
private Serializable getTrackedEntityAttributeValueId(SourceRecord sourceRecord) {
Schema schema = sourceRecord.keySchema();
List<Field> allIdFields = schema.fields();
Struct keyStruct = (Struct) sourceRecord.key();
Long trackedEntityAttributeId = (Long) getIdFromField(keyStruct, allIdFields.get(0));
Long entityInstanceId = (Long) getIdFromField(keyStruct, allIdFields.get(1));
TrackedEntityAttribute trackedEntityAttribute = trackedEntityAttributeService.getTrackedEntityAttribute(trackedEntityAttributeId);
TrackedEntityInstance entityInstance = trackedEntityInstanceService.getTrackedEntityInstance(entityInstanceId);
return new TrackedEntityAttributeValue(trackedEntityAttribute, entityInstance);
}
Aggregations