private String buildKey()

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();
    }