@Override public void undoAction(ProvisioningConfig.Builder builder) throws ProvisioningException { for (Entry<FeaturePackConfig, T> entry : cf.entrySet()) { Integer index = indexes.get(entry.getKey().getLocation().getFPID()); // index could be null if doAction failed or did not execute. if (index != null) { FeaturePackConfig.Builder fpBuilder = entry.getKey().getBuilder(); undoAction(fpBuilder, entry.getValue()); builder.removeFeaturePackDep(entry.getKey().getLocation()); builder.addFeaturePackDep(index, fpBuilder.build()); } } }
@Override public void doAction(ProvisioningConfig current, ProvisioningConfig.Builder builder) throws ProvisioningException { for (Entry<FeaturePackConfig, T> entry : cf.entrySet()) { FeaturePackConfig.Builder fpBuilder = entry.getKey().getBuilder(); boolean doit = doAction(fpBuilder, entry.getValue()); // this complexity is due to the fact that some fp could already have the configuration included/excluded/... if (doit) { int index = builder.getFeaturePackDepIndex(entry.getKey().getLocation()); indexes.put(entry.getKey().getLocation().getFPID(), index); builder.removeFeaturePackDep(entry.getKey().getLocation()); builder.addFeaturePackDep(index, fpBuilder.build()); } } }
try { FeaturePackConfig config = FeaturePackConfig.forLocation(loc); ProvisioningConfig provisioning = ProvisioningConfig.builder().addFeaturePackDep(config).build(); Set<ConfigId> layers = new HashSet<>(); try (ProvisioningLayout<FeaturePackLayout> layout
state.addFeaturePackDep(fpConfig.build());
loc = session.getResolvedLocation(null, fpl); FeaturePackConfig config = FeaturePackConfig.forLocation(loc); provisioning = ProvisioningConfig.builder().addFeaturePackDep(config).build(); layout = session.getLayoutFactory().newConfigLayout(provisioning); } else {
state.addFeaturePackDep(fpConfig.build());
configBuilder.addFeaturePackDep(fpBuilder.build());
fpConfig.includeDefaultConfig(c); builder.addFeaturePackDep(fpConfig.build()); manager.provision(builder.build(), options);
final FeaturePackConfig.Builder fpcBuilder = updatedDirectFps.get(fp.getLocation().getFPID()); if (fpcBuilder == null) { configBuilder.addFeaturePackDep(provisionedConfig.originOf(fp.getLocation().getProducer()), fp); } else { configBuilder.addFeaturePackDep(provisionedConfig.originOf(fp.getLocation().getProducer()), fpcBuilder.build()); final FeaturePackConfig.Builder fpcBuilder = updatedTransitiveFps.get(fp.getLocation().getFPID()); if (fpcBuilder == null) { configBuilder.addFeaturePackDep(provisionedConfig.originOf(fp.getLocation().getProducer()), fp); } else { configBuilder.addFeaturePackDep(provisionedConfig.originOf(fp.getLocation().getProducer()), fpcBuilder.build()); configBuilder.addFeaturePackDep(fpcBuilder.build());
return configBuilder.addFeaturePackDep( FeaturePackConfig.transitiveBuilder(patchTarget.getFPID().getLocation()).addPatch(fpid).build()); configBuilder.removeTransitiveDep(fpid); return configBuilder.addFeaturePackDep(getIndexForDepToInstall(configBuilder, fpid.getProducer()), fpConfig); return configBuilder.addFeaturePackDep(fpConfig);
private ProvisionedConfig getDefaultProvisionedConfig(ProvisioningLayout<?> layout, final ConfigModel definedConfig) throws ProvisioningException { final ProvisioningConfig originalConfig = layout.getConfig(); final ProvisioningConfig.Builder baseBuilder = ProvisioningConfig.builder().initUniverses(originalConfig) .addOptions(originalConfig.getOptions()); if (originalConfig.hasTransitiveDeps()) { for (FeaturePackConfig fp : originalConfig.getTransitiveDeps()) { baseBuilder.addFeaturePackDep(originalConfig.originOf(fp.getLocation().getProducer()), fp); } } for (FeaturePackConfig fp : originalConfig.getFeaturePackDeps()) { baseBuilder.addFeaturePackDep(originalConfig.originOf(fp.getLocation().getProducer()), fp); } baseBuilder.setInheritConfigs(false); baseBuilder.includeDefaultConfig(model, name); baseBuilder.addConfig(getBaseConfig(definedConfig)); ProvisioningConfig baseC = baseBuilder.build(); try(ProvisioningRuntime baseRt = ProvisioningRuntimeBuilder.newInstance(log).initLayout(layout.getFactory(), baseC).build()) { return getRequiredProvisionedConfig(baseRt.getConfigs(), model, name); } } }
private Builder(ProvisioningConfig original) throws ProvisioningDescriptionException { if(original == null) { return; } if(original.hasPluginOptions()) { addOptions(original.getPluginOptions()); } for (FeaturePackConfig fp : original.getFeaturePackDeps()) { addFeaturePackDep(original.originOf(fp.getLocation().getProducer()), fp); } if (original.hasTransitiveDeps()) { for (FeaturePackConfig fp : original.getTransitiveDeps()) { addFeaturePackDep(original.originOf(fp.getLocation().getProducer()), fp); } } initUniverses(original); initConfigs(original); }
@Override public void doAction(ProvisioningConfig current, ProvisioningConfig.Builder builder) throws ProvisioningException { builder.addFeaturePackDep(newDepBuilder.build()); }
public static PluginResolver newResolver(PmSession session, FeaturePackLocation loc) throws ProvisioningDescriptionException { ProvisioningConfig config = ProvisioningConfig.builder().addFeaturePackDep(loc).build(); return new PluginResolver(session, config); }
private static ProvisioningRuntime buildFullRuntime(FPID fpid, PmSession pmSession) throws ProvisioningException { FeaturePackConfig config = FeaturePackConfig.forLocation(fpid.getLocation()); ProvisioningConfig provisioning = ProvisioningConfig.builder().addFeaturePackDep(config).build(); ProvisioningRuntime runtime = ProvisioningRuntimeBuilder.newInstance(pmSession.getMessageWriter(false)) .initLayout(pmSession.getLayoutFactory(), provisioning) .setEncoding(ProvisioningManager.Builder.ENCODING) .build(); return runtime; } }
ProvisioningConfig build() throws ProvisioningException, IOException { final ProvisioningConfig.Builder builder = ProvisioningConfig.builder(); ConfigModel.Builder configBuilder = ConfigModel.builder(model, config); for (String layer : layers) { configBuilder.includeLayer(layer); } builder.addConfig(configBuilder.build()); builder.addFeaturePackDep(FeaturePackConfig.builder(loc).setInheritConfigs(false). setInheritPackages(false).build()); return builder.build(); } }
/** * Builds a layout for the configuration including the feature-pack contained in the local archive. * Optionally, installs the feature-pack archive to the universe repository. * * @param featurePack feature-pack archive * @param installInUniverse whether to install the feature-pack into the universe repository * @return layout * @throws ProvisioningException in case of a failure */ public ProvisioningLayout<FeaturePackLayout> newConfigLayout(Path featurePack, boolean installInUniverse) throws ProvisioningException { return newConfigLayout(ProvisioningConfig.builder().addFeaturePackDep(addLocal(featurePack, installInUniverse)).build()); }
@Override public void undoAction(ProvisioningConfig.Builder builder) throws ProvisioningException { builder.addFeaturePackDep(index, fpConfig); }
private static Map<String, Map<String, Set<String>>> getAllLayers(PmSession session, FeaturePackLocation loc, boolean includeDependencies) throws ProvisioningException, IOException { ProvisioningConfig pConfig = ProvisioningConfig.builder(). addFeaturePackDep(FeaturePackConfig.builder(loc).build()).build(); try (ProvisioningLayout<FeaturePackLayout> layout = session. getLayoutFactory().newConfigLayout(pConfig)) { return getAllLayers(layout, includeDependencies); } }