Class MongoDataConverter
- java.lang.Object
-
- io.debezium.connector.mongodb.transforms.MongoDataConverter
-
public class MongoDataConverter extends Object
MongoDataConverter handles translating MongoDB strings to Kafka Connect schemas and row data to Kafka Connect records.- Author:
- Sairam Polavarapu
-
-
Field Summary
Fields Modifier and Type Field Description private ExtractNewDocumentState.ArrayEncodingarrayEncodingprivate FieldNameSelector.FieldNamer<String>fieldNamerprivate booleansanitizeValueWhether to adjust certain field values to conform with Avro requirements.static StringSCHEMA_NAME_REGEX
-
Constructor Summary
Constructors Constructor Description MongoDataConverter(ExtractNewDocumentState.ArrayEncoding arrayEncoding)MongoDataConverter(ExtractNewDocumentState.ArrayEncoding arrayEncoding, FieldNameSelector.FieldNamer<String> fieldNamer, boolean sanitizeValue)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddFieldSchema(Map.Entry<String,org.bson.BsonValue> keyValuesforSchema, org.apache.kafka.connect.data.SchemaBuilder builder)protected StringarrayElementStructName(int i)voidconvertFieldValue(Map.Entry<String,org.bson.BsonValue> keyvalueforStruct, org.apache.kafka.connect.data.Struct struct, org.apache.kafka.connect.data.Schema schema)private voidconvertFieldValue(org.apache.kafka.connect.data.Schema valueSchema, org.bson.BsonType valueType, org.bson.BsonValue arrValue, ArrayList<Object> list)org.apache.kafka.connect.data.StructconvertRecord(Map.Entry<String,org.bson.BsonValue> keyvalueforStruct, org.apache.kafka.connect.data.Schema schema, org.apache.kafka.connect.data.Struct struct)private org.apache.kafka.connect.data.SchemasubSchema(org.apache.kafka.connect.data.SchemaBuilder builder, String key, org.bson.BsonType valueType, org.bson.BsonValue value)private voidsubSchema(org.apache.kafka.connect.data.SchemaBuilder documentSchemaBuilder, Map<String,org.bson.BsonType> union, org.bson.BsonDocument arrayDocs)private voidtestType(org.apache.kafka.connect.data.SchemaBuilder builder, String key, org.bson.BsonValue value, org.bson.BsonType valueType)
-
-
-
Field Detail
-
SCHEMA_NAME_REGEX
public static final String SCHEMA_NAME_REGEX
- See Also:
- Constant Field Values
-
arrayEncoding
private final ExtractNewDocumentState.ArrayEncoding arrayEncoding
-
fieldNamer
private final FieldNameSelector.FieldNamer<String> fieldNamer
-
sanitizeValue
private final boolean sanitizeValue
Whether to adjust certain field values to conform with Avro requirements.
-
-
Constructor Detail
-
MongoDataConverter
public MongoDataConverter(ExtractNewDocumentState.ArrayEncoding arrayEncoding, FieldNameSelector.FieldNamer<String> fieldNamer, boolean sanitizeValue)
-
MongoDataConverter
public MongoDataConverter(ExtractNewDocumentState.ArrayEncoding arrayEncoding)
-
-
Method Detail
-
convertRecord
public org.apache.kafka.connect.data.Struct convertRecord(Map.Entry<String,org.bson.BsonValue> keyvalueforStruct, org.apache.kafka.connect.data.Schema schema, org.apache.kafka.connect.data.Struct struct)
-
convertFieldValue
public void convertFieldValue(Map.Entry<String,org.bson.BsonValue> keyvalueforStruct, org.apache.kafka.connect.data.Struct struct, org.apache.kafka.connect.data.Schema schema)
-
convertFieldValue
private void convertFieldValue(org.apache.kafka.connect.data.Schema valueSchema, org.bson.BsonType valueType, org.bson.BsonValue arrValue, ArrayList<Object> list)
-
arrayElementStructName
protected String arrayElementStructName(int i)
-
addFieldSchema
public void addFieldSchema(Map.Entry<String,org.bson.BsonValue> keyValuesforSchema, org.apache.kafka.connect.data.SchemaBuilder builder)
-
subSchema
private org.apache.kafka.connect.data.Schema subSchema(org.apache.kafka.connect.data.SchemaBuilder builder, String key, org.bson.BsonType valueType, org.bson.BsonValue value)
-
subSchema
private void subSchema(org.apache.kafka.connect.data.SchemaBuilder documentSchemaBuilder, Map<String,org.bson.BsonType> union, org.bson.BsonDocument arrayDocs)
-
testType
private void testType(org.apache.kafka.connect.data.SchemaBuilder builder, String key, org.bson.BsonValue value, org.bson.BsonType valueType)
-
-