public void updateConfig(ProvisionedFeatureDiffCallback featureDiffCallback, ProvisionedConfig updatedConfig, String... relativePaths) throws ProvisioningException { final ConfigId configId = new ConfigId(updatedConfig.getModel(), updatedConfig.getName()); configPlugins = CollectionUtils.put(configPlugins, configId, featureDiffCallback); if(featureDiff == null) { featureDiff = new FeatureDiff(log); } featureDiff.init(getRequiredProvisionedConfig(provisionedState.getConfigs(), updatedConfig.getModel(), updatedConfig.getName())); featureDiff.diff(featureDiffCallback, updatedConfig); final ConfigModel mergedConfig = featureDiff.getMergedConfig(layout); if (mergedConfig == null) { log.verbose("%s has not changed", updatedConfig.getName()); } else { updatedConfigs.put(configId, mergedConfig); } featureDiff.reset(); suppressPaths(relativePaths); }
public void addConfig(ProvisionedFeatureDiffCallback featureDiffCallback, ProvisionedConfig config, String... relativePaths) throws ProvisioningException { if(featureDiff == null) { featureDiff = new FeatureDiff(log); } featureDiff.reset(); featureDiff.model = config.getModel(); featureDiff.name = config.getName(); featureDiff.diff(featureDiffCallback, config); final ConfigModel mergedConfig = featureDiff.getMergedConfig(layout); if (mergedConfig == null) { log.verbose("%s is meaningless", config.getName()); } else { addedConfigs = CollectionUtils.putLinked(addedConfigs, new ConfigId(config.getModel(), config.getName()), mergedConfig); } featureDiff.reset(); suppressPaths(relativePaths); }
public void init(ProvisionedConfig config) throws ProvisioningException { reset(); model = config.getModel(); name = config.getName(); init = true; config.handle(this); init = false; }