diff --git a/data-prepper-plugins/translate-processor/src/main/java/org/opensearch/dataprepper/plugins/processor/translate/TargetsParameterConfig.java b/data-prepper-plugins/translate-processor/src/main/java/org/opensearch/dataprepper/plugins/processor/translate/TargetsParameterConfig.java index 07b1967c03..ce9cc8ec80 100644 --- a/data-prepper-plugins/translate-processor/src/main/java/org/opensearch/dataprepper/plugins/processor/translate/TargetsParameterConfig.java +++ b/data-prepper-plugins/translate-processor/src/main/java/org/opensearch/dataprepper/plugins/processor/translate/TargetsParameterConfig.java @@ -9,6 +9,7 @@ import org.opensearch.dataprepper.model.annotations.AlsoRequired; import org.opensearch.dataprepper.plugins.processor.mutateevent.TargetType; import org.opensearch.dataprepper.typeconverter.TypeConverter; +import com.google.common.annotations.VisibleForTesting; import java.util.HashMap; import java.util.LinkedHashMap; @@ -21,7 +22,6 @@ public class TargetsParameterConfig { static final String MAP_KEY = "map"; static final String REGEX_KEY = "regex"; - private final TypeConverter converter; private final LinkedHashMap, Object> rangeMappings = new LinkedHashMap<>(); private final Map individualMappings = new HashMap<>(); private final Map compiledPatterns = new HashMap<>(); @@ -57,10 +57,10 @@ public class TargetsParameterConfig { @JsonPropertyDescription("Specifies the data type for the target value.") private TargetType targetType = TargetType.STRING; - public TargetsParameterConfig(){ - converter = TargetType.STRING.getTargetConverter(); - } - public TargetsParameterConfig(Map map, String target, RegexParameterConfiguration regexParameterConfig, String translateWhen, String defaultValue, TargetType targetType) { + public TargetsParameterConfig(){} + + @VisibleForTesting + TargetsParameterConfig(Map map, String target, RegexParameterConfiguration regexParameterConfig, String translateWhen, String defaultValue, TargetType targetType) { this.targetType = Optional .ofNullable(targetType) .orElse(TargetType.STRING); @@ -68,7 +68,6 @@ public TargetsParameterConfig(Map map, String target, RegexParam this.map = map; this.defaultValue = defaultValue; this.regexParameterConfig = regexParameterConfig; - this.converter = this.targetType.getTargetConverter(); this.translateWhen = translateWhen; parseMappings(); } @@ -109,11 +108,6 @@ public Map fetchCompiledPatterns() { return compiledPatterns; } - public TypeConverter getConverter() { - return converter; - } - - @AssertTrue(message = "pattern option is mandatory while configuring regex option") public boolean isPatternPresent() { return regexParameterConfig == null || regexParameterConfig.getPatterns() != null; diff --git a/data-prepper-plugins/translate-processor/src/main/java/org/opensearch/dataprepper/plugins/processor/translate/TranslateProcessor.java b/data-prepper-plugins/translate-processor/src/main/java/org/opensearch/dataprepper/plugins/processor/translate/TranslateProcessor.java index 682936c5b7..c93493e507 100644 --- a/data-prepper-plugins/translate-processor/src/main/java/org/opensearch/dataprepper/plugins/processor/translate/TranslateProcessor.java +++ b/data-prepper-plugins/translate-processor/src/main/java/org/opensearch/dataprepper/plugins/processor/translate/TranslateProcessor.java @@ -134,7 +134,7 @@ private String getSourceValue(Object recordObject, String sourceKey) { } private Object getTargetValue(Object sourceObject, List targetValues, TargetsParameterConfig targetConfig) { - TypeConverter converter = targetConfig.getConverter(); + TypeConverter converter = targetConfig.getTargetType().getTargetConverter(); if(sourceObject instanceof String) { return converter.convert(targetValues.get(0)); }