Search in sources :

Example 6 with Field

use of org.apache.kafka.connect.data.Field in project kafka by apache.

the class MaskField method applyWithSchema.

private R applyWithSchema(R record) {
    final Struct value = requireStruct(operatingValue(record), PURPOSE);
    final Struct updatedValue = new Struct(value.schema());
    for (Field field : value.schema().fields()) {
        final Object origFieldValue = value.get(field);
        updatedValue.put(field, maskedFields.contains(field.name()) ? masked(origFieldValue) : origFieldValue);
    }
    return newRecord(record, updatedValue);
}
Also used : Field(org.apache.kafka.connect.data.Field) Requirements.requireStruct(org.apache.kafka.connect.transforms.util.Requirements.requireStruct) Struct(org.apache.kafka.connect.data.Struct)

Aggregations

Field (org.apache.kafka.connect.data.Field)6 Struct (org.apache.kafka.connect.data.Struct)5 Schema (org.apache.kafka.connect.data.Schema)4 Requirements.requireStruct (org.apache.kafka.connect.transforms.util.Requirements.requireStruct)3 ArrayNode (com.fasterxml.jackson.databind.node.ArrayNode)2 ObjectNode (com.fasterxml.jackson.databind.node.ObjectNode)2 Date (java.util.Date)2 HashMap (java.util.HashMap)2 Map (java.util.Map)2 DataException (org.apache.kafka.connect.errors.DataException)2 JsonNode (com.fasterxml.jackson.databind.JsonNode)1 BigDecimal (java.math.BigDecimal)1 ByteBuffer (java.nio.ByteBuffer)1 ArrayList (java.util.ArrayList)1 Collection (java.util.Collection)1 ConnectSchema (org.apache.kafka.connect.data.ConnectSchema)1 Test (org.junit.Test)1