@Override public SchemaAndValue toConnectHeader(String topic, String headerKey, byte[] value) { if (value == null) { return NULL_SCHEMA_AND_VALUE; } try { String str = new String(value, UTF_8); if (str.isEmpty()) { return new SchemaAndValue(Schema.STRING_SCHEMA, str); } return Values.parseString(str); } catch (NoSuchElementException e) { throw new DataException("Failed to deserialize value for header '" + headerKey + "' on topic '" + topic + "'", e); } catch (Throwable t) { LOG.warn("Failed to deserialize value for header '{}' on topic '{}', so using byte array", headerKey, topic, t); return new SchemaAndValue(Schema.BYTES_SCHEMA, value); } }
SchemaAndValue parsed = parseString(value.toString()); if (parsed.value() instanceof Boolean) { return parsed.value(); if (Date.LOGICAL_NAME.equals(toSchema.name())) { if (value instanceof String) { SchemaAndValue parsed = parseString(value.toString()); value = parsed.value(); SchemaAndValue parsed = parseString(value.toString()); value = parsed.value(); if (Timestamp.LOGICAL_NAME.equals(toSchema.name())) { if (value instanceof String) { SchemaAndValue parsed = parseString(value.toString()); value = parsed.value(); case ARRAY: if (value instanceof String) { SchemaAndValue schemaAndValue = parseString(value.toString()); value = schemaAndValue.value(); case MAP: if (value instanceof String) { SchemaAndValue schemaAndValue = parseString(value.toString()); value = schemaAndValue.value();