use of org.jboss.as.patching.metadata.impl.IdentityImpl in project wildfly-core by wildfly.
the class IdentityPatchContext method createRollbackPatch.
/**
* Create a rollback patch based on the recorded actions.
*
* @param patchId the new patch id, depending on release or one-off
* @param patchType the current patch identity
* @return the rollback patch
*/
protected RollbackPatch createRollbackPatch(final String patchId, final Patch.PatchType patchType) {
// Process elements
final List<PatchElement> elements = new ArrayList<PatchElement>();
// Process layers
for (final PatchEntry entry : getLayers()) {
final PatchElement element = createRollbackElement(entry);
elements.add(element);
}
// Process add-ons
for (final PatchEntry entry : getAddOns()) {
final PatchElement element = createRollbackElement(entry);
elements.add(element);
}
final InstalledIdentity installedIdentity = modification.getUnmodifiedInstallationState();
final String name = installedIdentity.getIdentity().getName();
final IdentityImpl identity = new IdentityImpl(name, modification.getVersion());
if (patchType == Patch.PatchType.CUMULATIVE) {
identity.setPatchType(Patch.PatchType.CUMULATIVE);
identity.setResultingVersion(installedIdentity.getIdentity().getVersion());
} else if (patchType == Patch.PatchType.ONE_OFF) {
identity.setPatchType(Patch.PatchType.ONE_OFF);
}
final List<ContentModification> modifications = identityEntry.rollbackActions;
final Patch delegate = new PatchImpl(patchId, "rollback patch", identity, elements, modifications);
return new PatchImpl.RollbackPatchImpl(delegate, installedIdentity);
}
use of org.jboss.as.patching.metadata.impl.IdentityImpl in project wildfly-core by wildfly.
the class PatchBuilder method upgradeIdentity.
public PatchIdentityBuilder upgradeIdentity(final String name, final String version, final String resultingVersion) {
final PatchIdentityBuilder builder = new PatchIdentityBuilder(name, version, PatchType.CUMULATIVE, this);
final IdentityImpl identity = builder.getIdentity();
identity.setResultingVersion(resultingVersion);
this.identity = identity;
this.patchType = PatchType.CUMULATIVE;
return builder;
}
use of org.jboss.as.patching.metadata.impl.IdentityImpl in project wildfly-core by wildfly.
the class PatchBuilder method oneOffPatchIdentity.
public PatchIdentityBuilder oneOffPatchIdentity(final String name, final String version) {
final PatchIdentityBuilder builder = new PatchIdentityBuilder(name, version, PatchType.ONE_OFF, this);
final IdentityImpl identity = builder.getIdentity();
this.identity = identity;
this.patchType = PatchType.ONE_OFF;
return builder;
}
Aggregations