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.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>
- 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 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 boolean
-
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:
-
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() -
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
-