/** * Merge configurations with the parent configurations. This will update the child configuration * module set as well as the underlying info instances. * * @param parent parent service module * @param allStacks all stack modules * @param commonServices common service modules */ private void mergeConfigurations( ServiceModule parent, Map<String, StackModule> allStacks, Map<String, ServiceModule> commonServices) throws AmbariException { serviceInfo.getProperties().clear(); serviceInfo.setAllConfigAttributes(new HashMap<String, Map<String, Map<String, String>>>()); Collection<ConfigurationModule> mergedModules = mergeChildModules( allStacks, commonServices, configurationModules, parent.configurationModules); for (ConfigurationModule module : mergedModules) { configurationModules.put(module.getId(), module); if (!module.isDeleted()) { serviceInfo.getProperties().addAll(module.getModuleInfo().getProperties()); serviceInfo.setTypeAttributes( module.getConfigType(), module.getModuleInfo().getAttributes()); } } }