in src/main/java/com/epam/eco/commons/avro/converter/DefaultAvroConverters.java [159:176]
private Object toLogicalType(Object value, Schema schema) {
if (LogicalTypes.timestampMillis().equals(schema.getLogicalType())) {
if (value instanceof Date) {
return ((Date) value).getTime();
} else if (value instanceof LocalDateTime) {
return ((LocalDateTime) value).toInstant(ZoneOffset.UTC)
.toEpochMilli();
} else if (value instanceof CharSequence) {
return LocalDateTime.parse((CharSequence) value)
.toInstant(ZoneOffset.UTC)
.toEpochMilli();
} else if (value instanceof Long || value instanceof Integer) {
return value;
}
}
throw new AvroConversionException(value, schema);
}