@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; }
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; }
return; if(!config.id.isAnonymous()) { scheduledIds = CollectionUtils.add(scheduledIds, config.id);
private static boolean isFilteredOut(ConfigCustomizations configCustoms, ConfigId configId) { if(configId.isAnonymous()) { return !configCustoms.isInheritConfigs(); } if(configId.isModelOnly()) { return configCustoms.isConfigModelExcluded(configId) || !configCustoms.isInheritModelOnlyConfigs(); } if(configCustoms.isInheritConfigs()) { if(configCustoms.isConfigExcluded(configId)) { return true; } if(configCustoms.isConfigModelExcluded(configId)) { if(configCustoms.isConfigIncluded(configId)) { return false; } return true; } return false; } if(configCustoms.isConfigIncluded(configId)) { return false; } if(configCustoms.isConfigModelIncluded(configId)) { if(configCustoms.isConfigExcluded(configId)) { return true; } return false; } return true; }