Package de.cxp.ocs.preprocessor.impl
Class SplitValueDataProcessor
- java.lang.Object
-
- de.cxp.ocs.preprocessor.ConfigureableDataprocessor<SplitValueConfiguration>
-
- de.cxp.ocs.preprocessor.impl.SplitValueDataProcessor
-
- All Implemented Interfaces:
DocumentPreProcessor
public class SplitValueDataProcessor extends ConfigureableDataprocessor<SplitValueConfiguration>
DocumentPreProcessorimplementation which splits a field value on a regular expression and adds the splitted values into new fields. Will be auto configured and can be further configuration like described below:data-processor-configuration: processors: - SplitValueDataProcessor configuration: SplitValueDataProcessor: FieldName: ColorMapping ColorMapping_keepOriginal: true ColorMapping_regEx: /::/ ColorMapping_idxToDest: 0:Hauptfarbe;1:Nebenfarbe #Optionally a wildcard index can be supplied if the index count is not predictable when splitting a value. #In this case only one value is allowed and must be -1. For every splitted value a record entry #in form: value_idxOfSplitted value will be added. E.g.: ColorMapping_idxToDest: -1:Hauptfarbe # This would add Hauptfarbe_0, Hauptfarbe_1, Hauptfarbe_3 for on a value foo/::/bar/::/bazThis would split the value of the ColorMapping field by the regular expression /::/ assuming that it result in two splitted values. The first of the splitted values is going to be added in a new field called Hauptfarbe and the second value into a new field Nebenfarbe. Furthermore the original value of the field ColorMapping is not removed.
-
-
Field Summary
-
Fields inherited from class de.cxp.ocs.preprocessor.ConfigureableDataprocessor
patternConf, properties
-
-
Constructor Summary
Constructors Constructor Description SplitValueDataProcessor()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected SplitValueConfigurationgetPatternConfiguration(String key, String value, Map<String,String> confMap)Returns theConfigureableFieldholding the parsed configuration for every configured key.protected BiConsumer<SplitValueConfiguration,Object>getProcessConsumer(Document doc, boolean visible)Returns aBiConsumerwhose input is the configuredConfigureableFieldwith the value of the currently processed record.-
Methods inherited from class de.cxp.ocs.preprocessor.ConfigureableDataprocessor
initialize, isRecordVisible, process
-
-
-
-
Method Detail
-
getPatternConfiguration
protected SplitValueConfiguration getPatternConfiguration(String key, String value, Map<String,String> confMap)
Description copied from class:ConfigureableDataprocessorReturns theConfigureableFieldholding the parsed configuration for every configured key.- Specified by:
getPatternConfigurationin classConfigureableDataprocessor<SplitValueConfiguration>- Parameters:
key- a key from the data processor configuration for this data processor.value- the value of that key.confMap- the complete data processor configuration map.- Returns:
- the parsed configurable field for the key.
-
getProcessConsumer
protected BiConsumer<SplitValueConfiguration,Object> getProcessConsumer(Document doc, boolean visible)
Description copied from class:ConfigureableDataprocessorReturns aBiConsumerwhose input is the configuredConfigureableFieldwith the value of the currently processed record. The consumer gets called in theDocumentPreProcessor.process(Document, boolean)method for each configured key.- Specified by:
getProcessConsumerin classConfigureableDataprocessor<SplitValueConfiguration>- Parameters:
doc- the record datavisible- the current visibility of the record- Returns:
- a
BiConsumerwhose accept method should handle everyPatternConfigurationwith the corresponding value.
-
-