Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Kaegi2009-03-16 21:16:30 +0000
committerSimon Kaegi2009-03-16 21:16:30 +0000
commit0ad4eee803dcad5a589351f69d7cf540d5dd750c (patch)
tree8c8ed95d026dae7786b37cf8f4dad33064c73d83
parent240b9119e32dbf4cb3657a2419cdcee535aa8c44 (diff)
downloadrt.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.java12
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;

Back to the top