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 class
private static class
private static enum
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final Field
private String
private static final Field
private static final String
private static final String
private static final String
private static final Field
private static final Pattern
private static final org.slf4j.Logger
private SmtManager<R>
private static final String
private static final Pattern
private static final String
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
private void
collectTablesAndTopics
(List<String> list) org.apache.kafka.common.config.ConfigDef
config()
void
private org.apache.kafka.connect.data.Struct
private String
getTableFromSource
(org.apache.kafka.connect.data.Struct value) private Object
getTimestampWithTimezone
(String schemaName, Object fieldValue) private void
handleAllRecords
(org.apache.kafka.connect.data.Struct value, String table, String topic) private void
handleExclude
(org.apache.kafka.connect.data.Struct value, String table, String topic) private void
handleInclude
(org.apache.kafka.connect.data.Struct value, String table, String topic) handleMatchNameAndFields
(String table, String topic) private void
handleStructs
(org.apache.kafka.connect.data.Struct value, TimezoneConverter.Type type, String matchName, Set<String> fields) private void
handleValueForField
(org.apache.kafka.connect.data.Struct struct, org.apache.kafka.connect.data.Field field) private void
handleValueForFields
(org.apache.kafka.connect.data.Struct value, TimezoneConverter.Type type, Set<String> fields) private TimezoneConverter.FieldItem
private void
private 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:
-
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:
configure
in 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
-