Class AbstractSchemaColumnsProcessor
java.lang.Object
org.apache.ignite.migrationtools.persistence.utils.pubsub.BasicProcessor<Map.Entry<Object,Object>,org.apache.ignite3.table.DataStreamerItem<Map.Entry<org.apache.ignite3.table.Tuple,org.apache.ignite3.table.Tuple>>>
org.apache.ignite.migrationtools.persistence.mappers.AbstractSchemaColumnsProcessor
- All Implemented Interfaces:
Flow.Processor<Map.Entry<Object,,Object>, org.apache.ignite3.table.DataStreamerItem<Map.Entry<org.apache.ignite3.table.Tuple, org.apache.ignite3.table.Tuple>>> Flow.Publisher<org.apache.ignite3.table.DataStreamerItem<Map.Entry<org.apache.ignite3.table.Tuple,,org.apache.ignite3.table.Tuple>>> Flow.Subscriber<Map.Entry<Object,,Object>> SchemaColumnsProcessor
- Direct Known Subclasses:
IgnoreMismatchesSchemaColumnProcessor,SimpleSchemaColumnsProcessor
public abstract class AbstractSchemaColumnsProcessor
extends BasicProcessor<Map.Entry<Object,Object>,org.apache.ignite3.table.DataStreamerItem<Map.Entry<org.apache.ignite3.table.Tuple,org.apache.ignite3.table.Tuple>>>
implements SchemaColumnsProcessor
Provides a mapping layer between Ignite 2 Tuples (created from Binary Objects) and a Ignite 3 table schema.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classRecordMappingException.static classWrapperClass. -
Field Summary
Fields inherited from class org.apache.ignite.migrationtools.persistence.utils.pubsub.BasicProcessor
subscriber, subscription -
Constructor Summary
ConstructorsConstructorDescriptionAbstractSchemaColumnsProcessor(org.apache.ignite3.internal.client.table.ClientSchema schema, Map<String, String> fieldNameForColumn, TypeConverterFactory typeConverterFactory, boolean packExtraFields) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionstatic com.fasterxml.jackson.databind.ObjectMapperCreates a JSON Mapper.getStats()booleanstatic booleanisExtraFieldsColumn(org.apache.ignite3.internal.client.table.ClientColumn col) voidvoidprotected org.apache.ignite3.table.TuplepackIntoMany(org.apache.ignite.internal.binary.BinaryObjectImpl cacheObject, org.apache.ignite.migrationtools.persistence.mappers.AbstractSchemaColumnsProcessor.TypeProcessingResult typeMappingInfo, boolean packExtraFields) protected abstract org.apache.ignite3.table.TuplepostProcessMappedTuple(org.apache.ignite3.table.Tuple mappedTuple, Collection<String> missingCols, Collection<String> additionalColumns) Methods inherited from class org.apache.ignite.migrationtools.persistence.utils.pubsub.BasicProcessor
onComplete, onSubscribe, subscribeMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.util.concurrent.Flow.Publisher
subscribeMethods inherited from interface java.util.concurrent.Flow.Subscriber
onComplete, onSubscribe
-
Constructor Details
-
AbstractSchemaColumnsProcessor
public AbstractSchemaColumnsProcessor(org.apache.ignite3.internal.client.table.ClientSchema schema, Map<String, String> fieldNameForColumn, TypeConverterFactory typeConverterFactory, boolean packExtraFields) Constructor.- Parameters:
schema- Client schema for the mapping table.fieldNameForColumn- Mapping of fieldnames by column.typeConverterFactory- A factory for type converters.packExtraFields- Whether additional field in the records should be packed in the extra fields column.
-
-
Method Details
-
isExtraFieldsColumn
public static boolean isExtraFieldsColumn(org.apache.ignite3.internal.client.table.ClientColumn col) -
createMapper
public static com.fasterxml.jackson.databind.ObjectMapper createMapper()Creates a JSON Mapper.- Returns:
- The created JSON Object Mapper.
-
onNext
- Specified by:
onNextin interfaceFlow.Subscriber<Map.Entry<Object,Object>>
-
onError
-
hasReceivedError
public boolean hasReceivedError() -
getStats
- Specified by:
getStatsin interfaceSchemaColumnsProcessor
-
packIntoMany
protected org.apache.ignite3.table.Tuple packIntoMany(org.apache.ignite.internal.binary.BinaryObjectImpl cacheObject, org.apache.ignite.migrationtools.persistence.mappers.AbstractSchemaColumnsProcessor.TypeProcessingResult typeMappingInfo, boolean packExtraFields) throws Exception - Throws:
Exception
-
postProcessMappedTuple
protected abstract org.apache.ignite3.table.Tuple postProcessMappedTuple(org.apache.ignite3.table.Tuple mappedTuple, Collection<String> missingCols, Collection<String> additionalColumns) throws RecordAndTableSchemaMismatchException
-