@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()); } } }
throw new ProvisioningException(Errors.unsatisfiedFeaturePackDep(fpid.getProducer())); configBuilder.removeFeaturePackDep(fpid.getLocation()); if (!configBuilder.hasFeaturePackDeps()) { configBuilder.clearFeaturePackDeps();
configBuilder.removeFeaturePackDep(fpid.getLocation());
@Override public void doAction(ProvisioningConfig current, ProvisioningConfig.Builder builder) throws ProvisioningException { index = builder.getFeaturePackDepIndex(fpl); fpConfig = current.getFeaturePackDep(fpl.getProducer()); builder.removeFeaturePackDep(fpl); }
@Override public void undoAction(ProvisioningConfig.Builder builder) throws ProvisioningException { builder.removeFeaturePackDep(fpl); } }