in src/main/java/com/amazonaws/mskdatagen/core/Context.java [184:215]
private void addGenerators(List<Config> configs) {
RetainedConfig retainedConfig
= (RetainedConfig) getConfig(ConfigType.RETAINED_CONFIG, ConfigType.GENERATORS_CONFIG.getConfigGroup());
configs.forEach(config -> {
if (config.getGenerator() != null) {
GeneratorsConfigs attrConfigs = (GeneratorsConfigs) getConfig(ConfigType.GENERATORS_CONFIG, config.getTopic());
Generator.GeneratorBuilder generatorBuilder = new Generator.GeneratorBuilder();
fillGeneratorByStrategy(generatorBuilder, config);
generatorBuilder.setOriginalKey(config.getOriginalKey());
generatorBuilder.setQualfified(config.isQualified());
generatorBuilder.setOriginalValue(config.getValue());
Generator generator = generatorBuilder.build();
List<String> attrKey = config.getSplitAttr();
if ("key".equals(config.getNs())) {
attrConfigs.getKeys()
.computeIfAbsent(attrKey, k -> new ArrayList<>()).add(generator);
} else if ("value".equals(config.getNs())) {
attrConfigs.getValue()
.computeIfAbsent(attrKey, k -> new ArrayList<>()).add(generator);
}
if (generator.getStrategy() == Strategy.DEPENDENT) {
attrConfigs.getDependencies().add(generator.getTopic());
}
retainedConfig.addOriginalConfigs(config);
}
});
}