diff options
author | Susan Franklin | 2009-04-10 17:58:55 +0000 |
---|---|---|
committer | Susan Franklin | 2009-04-10 17:58:55 +0000 |
commit | b4fc254ab0179360f0d1f228c7ac51690ed97284 (patch) | |
tree | a56f9f16aa674cb06553c4c0683b02c867b0bfa6 /bundles/org.eclipse.equinox.p2.ui.sdk.scheduler | |
parent | 24b91584093dec9371bd473e11a211bf7ee486de (diff) | |
download | rt.equinox.p2-b4fc254ab0179360f0d1f228c7ac51690ed97284.tar.gz rt.equinox.p2-b4fc254ab0179360f0d1f228c7ac51690ed97284.tar.xz rt.equinox.p2-b4fc254ab0179360f0d1f228c7ac51690ed97284.zip |
Bug 268205 - [ui] Accepting an update causes plan to be recomputed
Diffstat (limited to 'bundles/org.eclipse.equinox.p2.ui.sdk.scheduler')
-rw-r--r-- | bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/AutomaticUpdateAction.java | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/AutomaticUpdateAction.java b/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/AutomaticUpdateAction.java index 69389a488..865819136 100644 --- a/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/AutomaticUpdateAction.java +++ b/bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/AutomaticUpdateAction.java @@ -13,13 +13,17 @@ package org.eclipse.equinox.internal.p2.ui.sdk.scheduler; import java.util.ArrayList; import org.eclipse.core.runtime.IStatus; +import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException; import org.eclipse.equinox.internal.provisional.p2.director.ProvisioningPlan; +import org.eclipse.equinox.internal.provisional.p2.engine.IProfile; +import org.eclipse.equinox.internal.provisional.p2.engine.IProfileRegistry; import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit; import org.eclipse.equinox.internal.provisional.p2.ui.ProvUI; import org.eclipse.equinox.internal.provisional.p2.ui.ProvUIProvisioningListener; import org.eclipse.equinox.internal.provisional.p2.ui.actions.UpdateAction; import org.eclipse.equinox.internal.provisional.p2.ui.model.IUElementListRoot; import org.eclipse.equinox.internal.provisional.p2.ui.operations.PlannerResolutionOperation; +import org.eclipse.equinox.internal.provisional.p2.ui.operations.ProvisioningUtil; import org.eclipse.equinox.internal.provisional.p2.ui.policy.PlanValidator; import org.eclipse.equinox.internal.provisional.p2.ui.policy.Policy; import org.eclipse.jface.viewers.ISelectionProvider; @@ -60,8 +64,19 @@ final class AutomaticUpdateAction extends UpdateAction { profileListener = new ProvUIProvisioningListener( ProvUIProvisioningListener.PROV_EVENT_PROFILE) { protected void profileChanged(final String profileId) { - if (profileId.equals(getProfileId(false))) + String id = getProfileId(false); + if (id == IProfileRegistry.SELF) { + try { + IProfile profile = ProvisioningUtil.getProfile(IProfileRegistry.SELF); + id = profile.getProfileId(); + } catch (ProvisionException e) { + id = null; + } + } + if (profileId.equals(id)) { resolvedOperation = null; + automaticUpdater.validateUpdates(); + } } }; return profileListener; |