Search in sources :

Example 81 with Field

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;
}
Also used : Field(org.apache.kafka.connect.data.Field) AtomicInteger(java.util.concurrent.atomic.AtomicInteger)

Example 82 with Field

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);
}
Also used : Field(org.apache.kafka.connect.data.Field) TrackedEntityAttribute(org.hisp.dhis.trackedentity.TrackedEntityAttribute) Schema(org.apache.kafka.connect.data.Schema) TrackedEntityAttributeValue(org.hisp.dhis.trackedentityattributevalue.TrackedEntityAttributeValue) TrackedEntityInstance(org.hisp.dhis.trackedentity.TrackedEntityInstance) Struct(org.apache.kafka.connect.data.Struct)

Aggregations

Field (org.apache.kafka.connect.data.Field)82 Struct (org.apache.kafka.connect.data.Struct)38 Schema (org.apache.kafka.connect.data.Schema)33 SchemaBuilder (org.apache.kafka.connect.data.SchemaBuilder)17 DataException (org.apache.kafka.connect.errors.DataException)14 List (java.util.List)12 ArrayList (java.util.ArrayList)11 Requirements.requireStruct (org.apache.kafka.connect.transforms.util.Requirements.requireStruct)11 HashMap (java.util.HashMap)10 Map (java.util.Map)8 Test (org.junit.Test)8 Date (java.util.Date)7 ConnectSchema (org.apache.kafka.connect.data.ConnectSchema)6 KsqlException (io.confluent.ksql.util.KsqlException)5 BigDecimal (java.math.BigDecimal)5 ArrayNode (com.fasterxml.jackson.databind.node.ArrayNode)4 ObjectNode (com.fasterxml.jackson.databind.node.ObjectNode)4 SchemaKStream (io.confluent.ksql.structured.SchemaKStream)4 ByteBuffer (java.nio.ByteBuffer)4 JsonNode (com.fasterxml.jackson.databind.JsonNode)3