diff options
Diffstat (limited to 'bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/model/AvailableIUElement.java')
-rw-r--r-- | bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/model/AvailableIUElement.java | 50 |
1 files changed, 21 insertions, 29 deletions
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/model/AvailableIUElement.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/model/AvailableIUElement.java index 878057512..f1d826c7f 100644 --- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/model/AvailableIUElement.java +++ b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/model/AvailableIUElement.java @@ -11,21 +11,17 @@ package org.eclipse.equinox.internal.p2.ui.model; import java.net.URI; +import java.util.Collection; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.SubMonitor; -import org.eclipse.equinox.internal.p2.ui.ProvUIMessages; -import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException; +import org.eclipse.equinox.internal.p2.ui.ProvUIImages; +import org.eclipse.equinox.internal.p2.ui.QueryProvider; import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest; -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.ProvisioningContext; -import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit; -import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; -import org.eclipse.equinox.internal.provisional.p2.repository.IRepository; -import org.eclipse.equinox.internal.provisional.p2.ui.ProvUIImages; -import org.eclipse.equinox.internal.provisional.p2.ui.operations.ProvisioningUtil; -import org.eclipse.equinox.internal.provisional.p2.ui.policy.Policy; -import org.eclipse.equinox.internal.provisional.p2.ui.policy.QueryProvider; +import org.eclipse.equinox.p2.engine.*; +import org.eclipse.equinox.p2.metadata.IInstallableUnit; +import org.eclipse.equinox.p2.metadata.IRequirement; +import org.eclipse.equinox.p2.operations.ProvisioningSession; +import org.eclipse.equinox.p2.repository.IRepository; /** * Element wrapper class for IU's that are available for installation. @@ -37,7 +33,7 @@ import org.eclipse.equinox.internal.provisional.p2.ui.policy.QueryProvider; public class AvailableIUElement extends QueriedElement implements IIUElement { IInstallableUnit iu; - boolean shouldShowChildren = Policy.getDefault().getQueryContext().getShowAvailableChildren(); + boolean shouldShowChildren; boolean isInstalled = false; boolean isUpdate = false; @@ -47,7 +43,7 @@ public class AvailableIUElement extends QueriedElement implements IIUElement { // probably refer to some preference or policy to decide what to do. // See https://bugs.eclipse.org/bugs/show_bug.cgi?id=221087 private static boolean shouldShowSize = false; - long size = IIUElement.SIZE_UNKNOWN; + long size = ProvisioningSession.SIZE_UNKNOWN; String profileID; public AvailableIUElement(Object parent, IInstallableUnit iu, String profileID, boolean showChildren) { @@ -74,6 +70,7 @@ public class AvailableIUElement extends QueriedElement implements IIUElement { return iu.getId(); } + @SuppressWarnings("rawtypes") public Object getAdapter(Class adapter) { if (adapter == IInstallableUnit.class) return iu; @@ -87,24 +84,19 @@ public class AvailableIUElement extends QueriedElement implements IIUElement { public void computeSize(IProgressMonitor monitor) { if (profileID == null) return; - try { - SubMonitor mon = SubMonitor.convert(monitor, 100); - ProvisioningPlan plan = getSizingPlan(mon.newChild(50)); - size = ProvisioningUtil.getSize(plan, profileID, getProvisioningContext(), mon.newChild(50)); - } catch (ProvisionException e) { - handleException(e, ProvUIMessages.AvailableIUElement_ProfileNotFound); - size = IIUElement.SIZE_UNAVAILABLE; - } + SubMonitor mon = SubMonitor.convert(monitor, 100); + IProvisioningPlan plan = getSizingPlan(mon.newChild(50)); + size = getProvisioningUI().getSession().getSize(plan, getProvisioningContext(), mon.newChild(50)); } - protected IProfile getProfile() throws ProvisionException { - return ProvisioningUtil.getProfile(profileID); + protected IProfile getProfile() { + return getProvisioningUI().getSession().getProfileRegistry().getProfile(profileID); } - protected ProvisioningPlan getSizingPlan(IProgressMonitor monitor) throws ProvisionException { + protected IProvisioningPlan getSizingPlan(IProgressMonitor monitor) { ProfileChangeRequest request = ProfileChangeRequest.createByProfileId(profileID); request.addInstallableUnits(new IInstallableUnit[] {getIU()}); - return ProvisioningUtil.getProvisioningPlan(request, getProvisioningContext(), monitor); + return getProvisioningUI().getSession().getPlanner().getProvisioningPlan(request, getProvisioningContext(), monitor); } public IInstallableUnit getIU() { @@ -129,7 +121,7 @@ public class AvailableIUElement extends QueriedElement implements IIUElement { /* (non-Javadoc) * @see org.eclipse.equinox.internal.p2.ui.model.IUElement#getRequirements() */ - public IRequiredCapability[] getRequirements() { + public Collection<IRequirement> getRequirements() { return iu.getRequiredCapabilities(); } @@ -181,8 +173,8 @@ public class AvailableIUElement extends QueriedElement implements IIUElement { } private ProvisioningContext getProvisioningContext() { - if (hasQueryable() && getQueryable() instanceof IRepository) - return new ProvisioningContext(new URI[] {((IRepository) getQueryable()).getLocation()}); + if (hasQueryable() && getQueryable() instanceof IRepository<?>) + return new ProvisioningContext(new URI[] {((IRepository<?>) getQueryable()).getLocation()}); return new ProvisioningContext(); } } |