diff options
author | Simon Kaegi | 2009-03-06 21:25:29 +0000 |
---|---|---|
committer | Simon Kaegi | 2009-03-06 21:25:29 +0000 |
commit | 0fdcdf8493523f0a0b0af5d6229b26f393f0d2a8 (patch) | |
tree | 05b521c85ca1a57697d5c68c0174f17b1627c753 /bundles | |
parent | 0d150036d2f8c892faf87a06e509bd2f8049b0e6 (diff) | |
download | rt.equinox.p2-0fdcdf8493523f0a0b0af5d6229b26f393f0d2a8.tar.gz rt.equinox.p2-0fdcdf8493523f0a0b0af5d6229b26f393f0d2a8.tar.xz rt.equinox.p2-0fdcdf8493523f0a0b0af5d6229b26f393f0d2a8.zip |
Bug 259767 [engine] No progress monitoring for rollback / commit
Diffstat (limited to 'bundles')
4 files changed, 14 insertions, 7 deletions
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/Engine.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/Engine.java index 99cac6863..f28e2db08 100644 --- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/Engine.java +++ b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/Engine.java @@ -54,7 +54,7 @@ public class Engine implements IEngine { if (result.matches(IStatus.ERROR | IStatus.CANCEL)) { eventBus.publishEvent(new RollbackOperationEvent(profile, phaseSet, operands, this, result)); - IStatus status = session.rollback(monitor); + IStatus status = session.rollback(monitor, result.getSeverity()); if (status.matches(IStatus.ERROR)) LogHelper.log(status); } else { diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/EngineSession.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/EngineSession.java index 5ad307dd2..e9bbc7202 100644 --- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/EngineSession.java +++ b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/EngineSession.java @@ -104,8 +104,13 @@ public class EngineSession { return status; } - IStatus rollback(IProgressMonitor monitor) { - monitor.subTask(Messages.rollingback); + IStatus rollback(IProgressMonitor monitor, int severity) { + if (severity == IStatus.CANCEL) + monitor.subTask(Messages.rollingback_cancel); + + if (severity == IStatus.ERROR) + monitor.subTask(Messages.rollingback_error); + MultiStatus status = new MultiStatus(EngineActivator.ID, IStatus.OK, null, null); if (currentPhase != null) { diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/Messages.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/Messages.java index d5e4c9d18..a20a4e55e 100644 --- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/Messages.java +++ b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/Messages.java @@ -51,7 +51,8 @@ public class Messages extends NLS { public static String actions_not_found; public static String preparing; public static String committing; - public static String rollingback; + public static String rollingback_cancel; + public static String rollingback_error; static { // initialize resource bundle diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/messages.properties b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/messages.properties index d1ca40c4b..80f0867e8 100644 --- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/messages.properties +++ b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/messages.properties @@ -35,9 +35,10 @@ operand_not_started=There is no operand to end. not_current_operand=Current operand does not match argument. null_action=Action must not be null session_context=session context was:(profile={0}, phase={1}, operand={2}, action={3}). -preparing="Preparing to commit operation." -committing="Committing operation." -rollingback="Rolling back operation." +preparing=Preparing to commit the provisioning operation. +committing=Committing the provisioning operation. +rollingback_error=An error was detected while performing the engine operation and the changes are being rolled back. See the log for details. +rollingback_cancel=The engine operation was cancelled and the changes are being rolled back. Engine_Operation_Canceled_By_User=Operation canceled by the user. InstallableUnitEvent_type_not_install_or_uninstall=type must be either UNINSTALL(0) or INSTALL(1) |