private void addGenerators()

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);
            }
        });
    }