Package io.debezium.transforms
Class TimezoneConverter<R extends org.apache.kafka.connect.connector.ConnectRecord<R>>
java.lang.Object
io.debezium.transforms.TimezoneConverter<R>
- All Implemented Interfaces:
Closeable,AutoCloseable,org.apache.kafka.common.Configurable,org.apache.kafka.connect.components.Versioned,org.apache.kafka.connect.transforms.Transformation<R>
public class TimezoneConverter<R extends org.apache.kafka.connect.connector.ConnectRecord<R>>
extends Object
implements org.apache.kafka.connect.transforms.Transformation<R>, org.apache.kafka.connect.components.Versioned
- Author:
- Anisha Mohanty
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static classprivate static classprivate static enum -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final Fieldprivate Stringprivate static final Fieldprivate static final Stringprivate static final Stringprivate static final Stringprivate static final Fieldprivate static final Patternprivate static final org.slf4j.Loggerprivate SmtManager<R>private static final Stringprivate static final Patternprivate static final String -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()private voidcollectTablesAndTopics(List<String> list) org.apache.kafka.common.config.ConfigDefconfig()voidprivate org.apache.kafka.connect.data.Structprivate StringgetTableFromSource(org.apache.kafka.connect.data.Struct value) private ObjectgetTimestampWithTimezone(String schemaName, Object fieldValue) private voidhandleAllRecords(org.apache.kafka.connect.data.Struct value, String table, String topic) private voidhandleExclude(org.apache.kafka.connect.data.Struct value, String table, String topic) private voidhandleInclude(org.apache.kafka.connect.data.Struct value, String table, String topic) handleMatchNameAndFields(String table, String topic) private voidhandleStructs(org.apache.kafka.connect.data.Struct value, TimezoneConverter.Type type, String matchName, Set<String> fields) private voidhandleValueForField(org.apache.kafka.connect.data.Struct struct, org.apache.kafka.connect.data.Field field) private voidhandleValueForFields(org.apache.kafka.connect.data.Struct value, TimezoneConverter.Type type, Set<String> fields) private TimezoneConverter.FieldItemprivate voidprivate booleanversion()
-
Field Details
-
LOGGER
private static final org.slf4j.Logger LOGGER -
CONVERTED_TIMEZONE
-
INCLUDE_LIST
-
EXCLUDE_LIST
-
smtManager
-
convertedTimezone
-
includeList
-
excludeList
-
SOURCE
- See Also:
-
TOPIC
- See Also:
-
FIELD_SOURCE_PREFIX
- See Also:
-
FIELD_BEFORE_PREFIX
- See Also:
-
FIELD_AFTER_PREFIX
- See Also:
-
TIMEZONE_OFFSET_PATTERN
-
LIST_PATTERN
-
topicFieldsMap
-
tableFieldsMap
-
noPrefixFieldsMap
-
SUPPORTED_TIMESTAMP_LOGICAL_NAMES
-
UNSUPPORTED_LOGICAL_NAMES
-
-
Constructor Details
-
TimezoneConverter
public TimezoneConverter()
-
-
Method Details
-
config
public org.apache.kafka.common.config.ConfigDef config() -
apply
-
configure
- Specified by:
configurein interfaceorg.apache.kafka.common.Configurable
-
collectTablesAndTopics
-
validateConfiguration
private void validateConfiguration() -
validateTimezoneString
private boolean validateTimezoneString() -
close
public void close() -
version
- Specified by:
versionin interfaceorg.apache.kafka.connect.components.Versioned
-
getTimestampWithTimezone
-
handleStructs
private void handleStructs(org.apache.kafka.connect.data.Struct value, TimezoneConverter.Type type, String matchName, Set<String> fields) -
handleValueForFields
private void handleValueForFields(org.apache.kafka.connect.data.Struct value, TimezoneConverter.Type type, Set<String> fields) -
handleValueForField
private void handleValueForField(org.apache.kafka.connect.data.Struct struct, org.apache.kafka.connect.data.Field field) -
getStruct
private org.apache.kafka.connect.data.Struct getStruct(org.apache.kafka.connect.data.Struct struct, String structName) -
getTableFromSource
-
parseItem
-
handleMatchNameAndFields
-
handleInclude
-
handleExclude
-
handleAllRecords
-