public FeaturePackBuilder addConfig(ConfigModel config) throws ProvisioningDescriptionException { return addConfig(config, !config.getId().isModelOnly()); }
@SuppressWarnings("unchecked") public B addConfig(ConfigModel config) throws ProvisioningDescriptionException { final ConfigId id = config.getId(); if(id.isAnonymous()) { throw new ProvisioningDescriptionException("Anonymous configs are not supported in " + getClass().getName()); } definedConfigs = CollectionUtils.putLinked(definedConfigs, id, config); this.hasModelOnlyConfigs |= config.id.isModelOnly(); return (B) this; }
ConfigModel getConfig(ConfigId configId) throws ProvisioningException { if(configs != null) { final ConfigModel config = configs.get(configId); if(config != null) { return config; } } final Path p = LayoutUtils.getConfigXml(dir, configId, false); if (!Files.exists(p)) { return null; } try (BufferedReader reader = Files.newBufferedReader(p)) { final ConfigModel config = ConfigXmlParser.getInstance().parse(reader); if (configs == null) { configs = new HashMap<>(); } configs.put(config.getId(), config); return config; } catch (Exception e) { throw new ProvisioningException(Errors.parseXml(p), e); } }
@Override public void doAction(ProvisioningConfig current, ProvisioningConfig.Builder builder) throws ProvisioningException { for (ConfigModel m : current.getDefinedConfigs()) { if (m.getId().equals(id)) { config = m; break; } } if (config == null) { throw new ProvisioningException("Config " + id + " doesn't exist"); } originalList = new ArrayList<>(builder.getDefinedConfigs()); builder.removeConfig(id); }
public FeaturePackBuilder addConfig(ConfigModel config, boolean asDefault) throws ProvisioningDescriptionException { final ConfigId id = config.getId(); if(id.isAnonymous()) { throw new ProvisioningDescriptionException("Feature-pack " + fpBuilder.getFPID() + ": attempt to add an anonymous config"); } if(asDefault && id.isModelOnly()) { throw new ProvisioningDescriptionException("Feature-pack " + fpBuilder.getFPID() + ": model-only config can not be added as the default one"); } if (configs.isEmpty()) { configs = new HashMap<>(); } if (configs.put(id, config) != null) { throw new ProvisioningDescriptionException("Feature-pack " + fpBuilder.getFPID() + ": duplicate config " + id); } if(asDefault) { fpBuilder.addConfig(ConfigModel.builder(id.getModel(), id.getName()).build()); } return this; }
final Path modelXml = LayoutUtils.getConfigXml(fpWorkDir, config.getId(), false); if (Files.exists(modelXml)) { throw new ProvisioningException("Failed to create feature-pack: " + modelXml + " already exists");
if (!definedConfigs.isEmpty()) { for (ConfigModel originalConfig : definedConfigs) { final ConfigModel updatedConfig = updatedConfigs.remove(originalConfig.getId()); if (updatedConfig != null) { configBuilder.addConfig(updatedConfig); continue; if (removedConfigs.contains(originalConfig.getId())) { continue;
if(config.hasDefinedConfigs()) { for(ConfigModel config : config.getDefinedConfigs()) { if (config.getId().isModelOnly()/* || fpConfigStack.isFilteredOut(null, config.getId(), true)*/) { continue; configStack = configsToBuild.get(config.getId()); configStack.pushConfig(config); configStacks = CollectionUtils.add(configStacks, configStack);
private void collectDefaultConfigs() throws ProvisioningException { if(config.hasDefinedConfigs()) { for(ConfigModel config : config.getDefinedConfigs()) { final ConfigId id = config.getId(); if (id.isModelOnly()/* || fpConfigStack.isFilteredOut(null, id, true)*/) { continue;
if (fpConfig.hasDefinedConfigs()) { for(ConfigModel config : fpConfig.getDefinedConfigs()) { final ConfigId id = config.getId(); if(id.isModelOnly() || fpConfigStack.isFilteredOut(producer, id, true)) { continue; if (currentSpec.hasDefinedConfigs()) { for (ConfigModel config : currentSpec.getDefinedConfigs()) { final ConfigId id = config.getId(); if (id.isModelOnly() || fpConfigStack.isFilteredOut(producer, id, false)) { continue;