protected ConfigObject preProcessConfig()

in src/main/java/com/epam/gmp/service/ScriptContextBuilder.java [134:166]


    protected ConfigObject preProcessConfig(Deque<ConfigLayer> configStack, ConfigLayer layer, String environment, Map<String, Object> bindingMap) {

        ConfigObject scriptConfig;

        if (layer.getScript() != null) {
            scriptConfig = fillParamMapFromGroovy(layer.getScript(), environment, bindingMap);
            updateWithDefaultExecutor(scriptConfig, layer);
            Map<String, Object> executorConfig = (Map<String, Object>) scriptConfig.get(EXECUTOR_FIELD);

            GmpConfigObject yamlCfg;
            String yamlToInclude = null;

            if (!StringUtils.isEmpty(executorConfig.get(INCLUDE_CONFIG_FIELD))) {
                configStack.addFirst(new ConfigLayer(layer.getRoot(), executorConfig.get(INCLUDE_CONFIG_FIELD).toString()));
            }

            if (!StringUtils.isEmpty(executorConfig.get(INCLUDE_YAML_FIELD))) {
                yamlToInclude = executorConfig.get(INCLUDE_YAML_FIELD).toString();
            }

            if (!StringUtils.isEmpty(yamlToInclude)) {
                Map<String, Object> yamlObject = yamlLoader.getObject(scriptConfig, layer.getRoot(), yamlToInclude);
                yamlCfg = new GmpConfigObject();
                yamlCfg.mapMerge(yamlObject);
                yamlCfg.mapMerge(scriptConfig);
                scriptConfig = yamlCfg;
            }
        } else {
            scriptConfig = new ConfigObject();
            updateWithDefaultExecutor(scriptConfig, layer);
        }
        return scriptConfig;
    }