@SuppressWarnings("unchecked") public B addFeaturePackDep(int index, FeaturePackConfig dependency) throws ProvisioningDescriptionException { if (index >= fpDeps.size()) { addFeaturePackDep(dependency); return (B) this; } FeaturePackLocation fpl = dependency.getLocation(); final UniverseSpec resolvedUniverse = getConfiguredUniverse(fpl); if(resolvedUniverse != null) { fpl = fpl.replaceUniverse(resolvedUniverse); dependency = FeaturePackConfig.builder(fpl).init(dependency).build(); } if (fpDeps.containsKey(fpl.getProducer())) { throw new ProvisioningDescriptionException(Errors.featurePackAlreadyConfigured(fpl.getProducer())); } // reconstruct the linkedMap. Map<ProducerSpec, FeaturePackConfig> tmp = Collections.emptyMap(); int i = 0; for (Entry<ProducerSpec, FeaturePackConfig> entry : fpDeps.entrySet()) { if (i == index) { tmp = CollectionUtils.putLinked(tmp, fpl.getProducer(), dependency); } tmp = CollectionUtils.putLinked(tmp, entry.getKey(), entry.getValue()); i += 1; } fpDeps = tmp; return (B) this; }
final FeaturePackLocation resolvedFpl = resolvedVersions.remove(producer); if(resolvedFpl != null) { builder.updateFeaturePackDep(config.originOf(producer), FeaturePackConfig.builder(resolvedFpl).init(fpConfig).build());
throw new ProvisioningException("Location in the update plan " + fpPlan.getInstalledLocation() + " does not match the installed location " + fpConfig.getLocation()); final FeaturePackConfig.Builder fpBuilder = FeaturePackConfig.builder(fpPlan.getNewLocation()).init(fpConfig); if(fpPlan.hasNewPatches()) { for(FPID patchId : fpPlan.getNewPatches()) { throw new ProvisioningException("Update plan build " + fpPlan.getInstalledLocation() + " does not match the installed build " + fpConfig.getLocation()); final FeaturePackConfig.Builder fpBuilder = FeaturePackConfig.transitiveBuilder(fpPlan.getNewLocation()).init(fpConfig); if(fpPlan.hasNewPatches()) { for(FPID patchId : fpPlan.getNewPatches()) {
FeaturePackConfig.builder(installedFpConfig.getLocation()).init(installedFpConfig).addPatch(fpid).build());
public B updateFeaturePackDep(String origin, FeaturePackConfig dependency) throws ProvisioningDescriptionException { final UniverseSpec configuredUniverse = getConfiguredUniverse(dependency.getLocation()); return addFeaturePackDepResolved(origin, configuredUniverse == null ? dependency : FeaturePackConfig.builder(dependency.getLocation().replaceUniverse(configuredUniverse)).init(dependency).build(), true); }
public B addFeaturePackDep(String origin, FeaturePackConfig dependency) throws ProvisioningDescriptionException { final UniverseSpec configuredUniverse = getConfiguredUniverse(dependency.getLocation()); return addFeaturePackDepResolved(origin, configuredUniverse == null ? dependency : FeaturePackConfig.builder(dependency.getLocation().replaceUniverse(configuredUniverse)).init(dependency).build(), false); }
protected Builder(FeaturePackConfig config) { this.fpl = config.getLocation(); init(config); }
public void install(FeaturePackConfig fpConfig, Map<String, String> options) throws ProvisioningException { ProvisioningConfig config = getProvisioningConfig(); if(config == null) { config = ProvisioningConfig.builder().build(); } try(ProvisioningLayout<FeaturePackRuntimeBuilder> layout = getLayoutFactory().newConfigLayout(config, ProvisioningRuntimeBuilder.FP_RT_FACTORY, false)) { final UniverseSpec configuredUniverse = getConfiguredUniverse(fpConfig.getLocation()); layout.install(configuredUniverse == null ? fpConfig : FeaturePackConfig.builder(fpConfig.getLocation().replaceUniverse(configuredUniverse)).init(fpConfig).build(), options); doProvision(layout, getFsDiff(), false); } }