diff options
author | Simon Kaegi | 2009-03-16 21:16:30 +0000 |
---|---|---|
committer | Simon Kaegi | 2009-03-16 21:16:30 +0000 |
commit | 0ad4eee803dcad5a589351f69d7cf540d5dd750c (patch) | |
tree | 8c8ed95d026dae7786b37cf8f4dad33064c73d83 | |
parent | 240b9119e32dbf4cb3657a2419cdcee535aa8c44 (diff) | |
download | rt.equinox.p2-0ad4eee803dcad5a589351f69d7cf540d5dd750c.tar.gz rt.equinox.p2-0ad4eee803dcad5a589351f69d7cf540d5dd750c.tar.xz rt.equinox.p2-0ad4eee803dcad5a589351f69d7cf540d5dd750c.zip |
Separating out phase/operand completion for touchpoints to ensure phases cannot override touchpoint completion. No change to flow.V20090316-2118
-rw-r--r-- | bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/Phase.java | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/Phase.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/Phase.java index e88378b36..ba821b0b1 100644 --- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/Phase.java +++ b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/Phase.java @@ -121,7 +121,7 @@ public abstract class Phase { } } - + mergeStatus(status, touchpointCompleteOperand(profile, operand, operandParameters, subMonitor)); mergeStatus(status, completeOperand(profile, operand, operandParameters, subMonitor)); if (status.matches(IStatus.ERROR | IStatus.CANCEL)) return; @@ -161,6 +161,7 @@ public abstract class Phase { } void postPerform(MultiStatus status, IProfile profile, ProvisioningContext context, IProgressMonitor monitor) { + mergeStatus(status, touchpointCompletePhase(monitor, profile, phaseParameters)); mergeStatus(status, completePhase(monitor, profile, phaseParameters)); } @@ -183,6 +184,7 @@ public abstract class Phase { mergeStatus(status, action.undo(parameters)); // TODO: session.removeAction(...) } + mergeStatus(status, touchpointCompleteOperand(profile, operand, operandParameters, new NullProgressMonitor())); mergeStatus(status, completeOperand(profile, operand, operandParameters, new NullProgressMonitor())); } @@ -195,6 +197,10 @@ public abstract class Phase { } protected IStatus completePhase(IProgressMonitor monitor, IProfile profile, Map parameters) { + return Status.OK_STATUS; + } + + IStatus touchpointCompletePhase(IProgressMonitor monitor, IProfile profile, Map parameters) { if (touchpointToTouchpointPhaseParameters == null) return Status.OK_STATUS; @@ -210,6 +216,10 @@ public abstract class Phase { } protected IStatus completeOperand(IProfile profile, Operand operand, Map parameters, IProgressMonitor monitor) { + return Status.OK_STATUS; + } + + IStatus touchpointCompleteOperand(IProfile profile, Operand operand, Map parameters, IProgressMonitor monitor) { if (touchpointToTouchpointOperandParameters == null) return Status.OK_STATUS; |