protected ConfigObject assembleConfigForLayer()

in src/main/java/com/epam/gmp/service/ScriptContextBuilder.java [169:197]


    protected ConfigObject assembleConfigForLayer(Deque<ConfigLayer> configStack, ConfigLayer layer, String environment, Map<String, Object> additionalBindings) throws ScriptInitializationException {
        Matcher fileNameMatcher = SCRIPT_FILE_PATTERN.matcher(layer.getScriptName());
        ConfigObject cfgObj = null;

        if (fileNameMatcher.matches()) {
            if (COMMON_CONFIG.equals(layer.getScriptName()) || GLOBAL_CONFIG.equals(layer.getScriptName())) {
                layer.setScriptConfig(layer.getScriptName());
                layer.setScriptToRun(null);
            } else {
                if (fileNameMatcher.group(3) == null) {
                    layer.setScriptConfig(fileNameMatcher.group(2) + CONFIG_SUFFIX);
                    layer.setScriptToRun(layer.getScriptName());

                } else {
                    layer.setScriptConfig(layer.getScriptName());
                    layer.setScriptToRun(fileNameMatcher.group(2) + SCRIPT_SUFFIX);
                }
            }
            layer.setScript(groovyScriptEngineService.createScript(layer.getRoot(), layer.getScriptConfig(), new Binding(bindingBeans)));

            Map<String, Object> bindingMap = new LinkedHashMap<>(bindingBeans);

            if (additionalBindings != null) {
                bindingMap.putAll(additionalBindings);
            }
            cfgObj = preProcessConfig(configStack, layer, environment, bindingMap);
        }
        return cfgObj;
    }