diff options
Diffstat (limited to 'bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/phases/Install.java')
-rw-r--r-- | bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/phases/Install.java | 39 |
1 files changed, 20 insertions, 19 deletions
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/phases/Install.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/phases/Install.java index e114204b9..c1e019dcc 100644 --- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/phases/Install.java +++ b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/phases/Install.java @@ -10,7 +10,7 @@ *******************************************************************************/ package org.eclipse.equinox.internal.p2.engine.phases; -import java.util.Map; +import java.util.*; import org.eclipse.core.runtime.*; import org.eclipse.equinox.internal.p2.engine.*; import org.eclipse.equinox.internal.provisional.p2.core.eventbus.IProvisioningEventBus; @@ -27,7 +27,7 @@ public class Install extends InstallableUnitPhase { final static class BeforeInstallEventAction extends ProvisioningAction { - public IStatus execute(Map parameters) { + public IStatus execute(Map<String, Object> parameters) { IProfile profile = (IProfile) parameters.get(PARM_PROFILE); String phaseId = (String) parameters.get(PARM_PHASE_ID); InstallableUnitOperand operand = (InstallableUnitOperand) parameters.get(PARM_OPERAND); @@ -36,7 +36,7 @@ public class Install extends InstallableUnitPhase { return null; } - public IStatus undo(Map parameters) { + public IStatus undo(Map<String, Object> parameters) { Profile profile = (Profile) parameters.get(PARM_PROFILE); String phaseId = (String) parameters.get(PARM_PHASE_ID); InstallableUnitOperand operand = (InstallableUnitOperand) parameters.get(PARM_OPERAND); @@ -50,7 +50,7 @@ public class Install extends InstallableUnitPhase { final static class AfterInstallEventAction extends ProvisioningAction { - public IStatus execute(Map parameters) { + public IStatus execute(Map<String, Object> parameters) { Profile profile = (Profile) parameters.get(PARM_PROFILE); String phaseId = (String) parameters.get(PARM_PHASE_ID); InstallableUnitOperand operand = (InstallableUnitOperand) parameters.get(PARM_OPERAND); @@ -61,7 +61,7 @@ public class Install extends InstallableUnitPhase { return null; } - public IStatus undo(Map parameters) { + public IStatus undo(Map<String, Object> parameters) { IProfile profile = (IProfile) parameters.get(PARM_PROFILE); String phaseId = (String) parameters.get(PARM_PHASE_ID); InstallableUnitOperand operand = (InstallableUnitOperand) parameters.get(PARM_OPERAND); @@ -81,7 +81,7 @@ public class Install extends InstallableUnitPhase { return (op.second() != null && !op.second().equals(op.first())); } - protected ProvisioningAction[] getActions(InstallableUnitOperand currentOperand) { + protected List<ProvisioningAction> getActions(InstallableUnitOperand currentOperand) { //TODO: monitor.subTask(NLS.bind(Messages.Engine_Installing_IU, unit.getId())); ProvisioningAction beforeAction = new BeforeInstallEventAction(); @@ -94,17 +94,18 @@ public class Install extends InstallableUnitPhase { afterAction.setTouchpoint(touchpoint); } - if (FragmentQuery.isFragment(unit)) - return new ProvisioningAction[] {beforeAction, afterAction}; + ArrayList<ProvisioningAction> actions = new ArrayList<ProvisioningAction>(); + actions.add(beforeAction); - ProvisioningAction[] parsedActions = getActions(unit, phaseId); - if (parsedActions == null) - return new ProvisioningAction[] {beforeAction, afterAction}; + if (FragmentQuery.isFragment(unit)) { + actions.add(afterAction); + return actions; + } - ProvisioningAction[] actions = new ProvisioningAction[parsedActions.length + 2]; - actions[0] = beforeAction; - System.arraycopy(parsedActions, 0, actions, 1, parsedActions.length); - actions[actions.length - 1] = afterAction; + List<ProvisioningAction> parsedActions = getActions(unit, phaseId); + if (parsedActions != null) + actions.addAll(parsedActions); + actions.add(afterAction); return actions; } @@ -112,14 +113,14 @@ public class Install extends InstallableUnitPhase { return Messages.Phase_Install_Error; } - protected IStatus initializeOperand(IProfile profile, InstallableUnitOperand operand, Map parameters, IProgressMonitor monitor) { + protected IStatus initializeOperand(IProfile profile, InstallableUnitOperand operand, Map<String, Object> parameters, IProgressMonitor monitor) { IInstallableUnit iu = operand.second(); monitor.subTask(NLS.bind(Messages.Phase_Install_Task, iu.getId())); parameters.put(PARM_IU, iu); - IArtifactKey[] artifacts = iu.getArtifacts(); - if (artifacts != null && artifacts.length > 0) - parameters.put(PARM_ARTIFACT, artifacts[0]); + List<IArtifactKey> artifacts = iu.getArtifacts(); + if (artifacts != null && artifacts.size() > 0) + parameters.put(PARM_ARTIFACT, artifacts.get(0)); return Status.OK_STATUS; } |