in timebase-kafka-connector/src/main/java/deltix/kafka/connect/RawMessageDeserializer.java [152:180]
private String buildKey(Map<String, Object> values, long timestamp, long offset) {
StringBuilder keyBuilder = new StringBuilder();
if (keyFields == null || keyFields.size() == 0) {
keyBuilder.append(timestamp).append(TBConnectorConfig.KEY_FIELDS_SEPARATOR).append(offset);
}
else {
for (String fieldName : keyFields) {
if (keyBuilder.length() > 0)
keyBuilder.append(TBConnectorConfig.KEY_FIELDS_SEPARATOR);
Object fieldValue = values.get(fieldName);
if (fieldValue != null) {
DataField field = msgType.getField(fieldName);
DataType fieldType = field.getType();
if (fieldType instanceof DateTimeDataType) {
keyBuilder.append(iso8601Format.format(new Date((Long) fieldValue)));
}
else if (fieldType instanceof TimeOfDayDataType) {
keyBuilder.append(timeOfDayFormat.format(new Date(((Integer) fieldValue).longValue())));
}
else {
keyBuilder.append(fieldValue);
}
}
}
}
return keyBuilder.toString();
}