diff options
Diffstat (limited to 'bundles/org.eclipse.equinox.p2.ui')
23 files changed, 220 insertions, 95 deletions
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/ColocatedRepositoryTracker.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/ColocatedRepositoryTracker.java index 5147b8238..a7dc3182a 100644 --- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/ColocatedRepositoryTracker.java +++ b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/ColocatedRepositoryTracker.java @@ -19,6 +19,8 @@ import org.eclipse.equinox.p2.operations.ProvisioningSession; import org.eclipse.equinox.p2.operations.RepositoryTracker; import org.eclipse.equinox.p2.repository.IRepository; import org.eclipse.equinox.p2.repository.IRepositoryManager; +import org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManager; +import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager; import org.eclipse.equinox.p2.ui.ProvisioningUI; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.jface.window.Window; @@ -54,17 +56,17 @@ public class ColocatedRepositoryTracker extends RepositoryTracker { * @see org.eclipse.equinox.internal.provisional.p2.ui.policy.RepositoryManipulator#getKnownRepositories() */ public URI[] getKnownRepositories(ProvisioningSession session) { - return session.getMetadataRepositoryManager().getKnownRepositories(getMetadataRepositoryFlags()); + return getMetadataRepositoryManager().getKnownRepositories(getMetadataRepositoryFlags()); } public void addRepository(URI repoLocation, String nickname, ProvisioningSession session) { ui.signalRepositoryOperationStart(); try { - session.getMetadataRepositoryManager().addRepository(repoLocation); - session.getArtifactRepositoryManager().addRepository(repoLocation); + getMetadataRepositoryManager().addRepository(repoLocation); + getArtifactRepositoryManager().addRepository(repoLocation); if (nickname != null) { - session.getMetadataRepositoryManager().setRepositoryProperty(repoLocation, IRepository.PROP_NICKNAME, nickname); - session.getArtifactRepositoryManager().setRepositoryProperty(repoLocation, IRepository.PROP_NICKNAME, nickname); + getMetadataRepositoryManager().setRepositoryProperty(repoLocation, IRepository.PROP_NICKNAME, nickname); + getArtifactRepositoryManager().setRepositoryProperty(repoLocation, IRepository.PROP_NICKNAME, nickname); } } finally { @@ -80,8 +82,8 @@ public class ColocatedRepositoryTracker extends RepositoryTracker { ui.signalRepositoryOperationStart(); try { for (int i = 0; i < repoLocations.length; i++) { - session.getMetadataRepositoryManager().removeRepository(repoLocations[i]); - session.getArtifactRepositoryManager().removeRepository(repoLocations[i]); + getMetadataRepositoryManager().removeRepository(repoLocations[i]); + getArtifactRepositoryManager().removeRepository(repoLocations[i]); } } finally { ui.signalRepositoryOperationComplete(null, true); @@ -97,8 +99,8 @@ public class ColocatedRepositoryTracker extends RepositoryTracker { SubMonitor mon = SubMonitor.convert(monitor, locations.length * 100); for (int i = 0; i < locations.length; i++) { try { - session.getArtifactRepositoryManager().refreshRepository(locations[i], mon.newChild(50)); - session.getMetadataRepositoryManager().refreshRepository(locations[i], mon.newChild(50)); + getArtifactRepositoryManager().refreshRepository(locations[i], mon.newChild(50)); + getMetadataRepositoryManager().refreshRepository(locations[i], mon.newChild(50)); } catch (ProvisionException e) { //ignore problematic repositories when refreshing } @@ -134,7 +136,7 @@ public class ColocatedRepositoryTracker extends RepositoryTracker { } protected String getInitialNameText() { - String nickname = ui.getSession().getMetadataRepositoryManager().getRepositoryProperty(location, IRepository.PROP_NICKNAME); + String nickname = getMetadataRepositoryManager().getRepositoryProperty(location, IRepository.PROP_NICKNAME); return nickname == null ? "" : nickname; //$NON-NLS-1$ } }; @@ -159,4 +161,12 @@ public class ColocatedRepositoryTracker extends RepositoryTracker { ProvUI.handleException(e, null, StatusManager.SHOW | StatusManager.LOG); } } + + IMetadataRepositoryManager getMetadataRepositoryManager() { + return ProvUI.getMetadataRepositoryManager(ui.getSession()); + } + + IArtifactRepositoryManager getArtifactRepositoryManager() { + return ProvUI.getArtifactRepositoryManager(ui.getSession()); + } } diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/ProvUI.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/ProvUI.java index 772f654ae..1583bccf3 100644 --- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/ProvUI.java +++ b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/ProvUI.java @@ -11,16 +11,20 @@ package org.eclipse.equinox.internal.p2.ui; -import org.eclipse.equinox.p2.query.QueryUtil; - import org.eclipse.core.commands.*; import org.eclipse.core.commands.common.NotDefinedException; import org.eclipse.core.runtime.*; import org.eclipse.equinox.internal.p2.ui.dialogs.ILayoutConstants; import org.eclipse.equinox.internal.p2.ui.query.IUViewQueryContext; import org.eclipse.equinox.internal.p2.ui.viewers.IUColumnConfig; +import org.eclipse.equinox.internal.provisional.p2.core.eventbus.IProvisioningEventBus; +import org.eclipse.equinox.p2.engine.*; import org.eclipse.equinox.p2.metadata.IInstallableUnit; import org.eclipse.equinox.p2.operations.ProvisioningSession; +import org.eclipse.equinox.p2.operations.UpdateOperation; +import org.eclipse.equinox.p2.query.QueryUtil; +import org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManager; +import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager; import org.eclipse.equinox.p2.ui.Policy; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.swt.widgets.Event; @@ -47,6 +51,22 @@ public class ProvUI { public static final String REVERT_COMMAND_LABEL = ProvUIMessages.RevertIUCommandLabel; public static final String REVERT_COMMAND_TOOLTIP = ProvUIMessages.RevertIUCommandTooltip; + /** + * A constant indicating that there was nothing to size (there + * was no valid plan that could be used to compute + * size). + */ + public static final long SIZE_NOTAPPLICABLE = -3L; + /** + * Indicates that the size is unavailable (an + * attempt was made to compute size but it failed) + */ + public static final long SIZE_UNAVAILABLE = -2L; + /** + * Indicates that the size is currently unknown + */ + public static final long SIZE_UNKNOWN = -1L; + private static IUColumnConfig[] columnConfig; private static QueryProvider queryProvider; @@ -79,7 +99,7 @@ public class ProvUI { // unset logging for statuses that should never be logged. // Ideally the caller would do this but this bug keeps coming back. // see https://bugs.eclipse.org/bugs/show_bug.cgi?id=274074 - if (status.getCode() == ProvisioningSession.STATUS_NOTHING_TO_UPDATE) + if (status.getCode() == UpdateOperation.STATUS_NOTHING_TO_UPDATE) style = 0; } else if (status.getSeverity() == IStatus.WARNING) { MessageDialog.openWarning(ProvUI.getDefaultParentShell(), ProvUIMessages.ProvUI_WarningTitle, status.getMessage()); @@ -192,4 +212,86 @@ public class ProvUI { public static void setQueryProvider(QueryProvider provider) { queryProvider = provider; } + + /** + * Get sizing information about the specified plan. + * + * @param engine the engine + * @param plan the provisioning plan + * @param context the provisioning context to be used for the sizing + * @param monitor the progress monitor + * + * @return a long integer describing the disk size required for the provisioning plan. + * + * @see #SIZE_UNKNOWN + * @see #SIZE_UNAVAILABLE + * @see #SIZE_NOTAPPLICABLE + */ + public static long getSize(IEngine engine, IProvisioningPlan plan, ProvisioningContext context, IProgressMonitor monitor) { + // If there is nothing to size, return 0 + if (plan == null) + return SIZE_NOTAPPLICABLE; + if (countPlanElements(plan) == 0) + return 0; + long installPlanSize = 0; + SubMonitor mon = SubMonitor.convert(monitor, 300); + if (plan.getInstallerPlan() != null) { + ISizingPhaseSet sizingPhaseSet = PhaseSetFactory.createSizingPhaseSet(); + IStatus status = engine.perform(plan.getInstallerPlan(), sizingPhaseSet, mon.newChild(100)); + if (status.isOK()) + installPlanSize = sizingPhaseSet.getDiskSize(); + } else { + mon.worked(100); + } + ISizingPhaseSet sizingPhaseSet = PhaseSetFactory.createSizingPhaseSet(); + IStatus status = engine.perform(plan, sizingPhaseSet, mon.newChild(200)); + if (status.isOK()) + return installPlanSize + sizingPhaseSet.getDiskSize(); + return SIZE_UNAVAILABLE; + } + + private static int countPlanElements(IProvisioningPlan plan) { + return QueryUtil.compoundQueryable(plan.getAdditions(), plan.getRemovals()).query(QueryUtil.createIUAnyQuery(), null).toUnmodifiableSet().size(); + } + + /** + * Return the artifact repository manager for the given session + * @return the repository manager + */ + public static IArtifactRepositoryManager getArtifactRepositoryManager(ProvisioningSession session) { + return (IArtifactRepositoryManager) session.getProvisioningAgent().getService(IArtifactRepositoryManager.SERVICE_NAME); + } + + /** + * Return the metadata repository manager for the given session + * @return the repository manager + */ + public static IMetadataRepositoryManager getMetadataRepositoryManager(ProvisioningSession session) { + return (IMetadataRepositoryManager) session.getProvisioningAgent().getService(IMetadataRepositoryManager.SERVICE_NAME); + } + + /** + * Return the profile registry for the given session + * @return the profile registry + */ + public static IProfileRegistry getProfileRegistry(ProvisioningSession session) { + return (IProfileRegistry) session.getProvisioningAgent().getService(IProfileRegistry.SERVICE_NAME); + } + + /** + * Return the provisioning engine for the given session + * @return the provisioning engine + */ + public static IEngine getEngine(ProvisioningSession session) { + return (IEngine) session.getProvisioningAgent().getService(IEngine.SERVICE_NAME); + } + + /** + * Return the provisioning event bus used for dispatching events. + * @return the event bus + */ + public static IProvisioningEventBus getProvisioningEventBus(ProvisioningSession session) { + return (IProvisioningEventBus) session.getProvisioningAgent().getService(IProvisioningEventBus.SERVICE_NAME); + } + } diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/ProvUIActivator.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/ProvUIActivator.java index 30efa372b..05d2d6a2e 100644 --- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/ProvUIActivator.java +++ b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/ProvUIActivator.java @@ -115,7 +115,7 @@ public class ProvUIActivator extends AbstractUIPlugin { } public IProvisioningEventBus getProvisioningEventBus() { - return getSession().getProvisioningEventBus(); + return ProvUI.getProvisioningEventBus(getSession()); } public void removeProvisioningListener(ProvUIProvisioningListener listener) { diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/QueryableArtifactRepositoryManager.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/QueryableArtifactRepositoryManager.java index 2ddade3c7..a2e5087da 100644 --- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/QueryableArtifactRepositoryManager.java +++ b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/QueryableArtifactRepositoryManager.java @@ -11,11 +11,10 @@ *******************************************************************************/ package org.eclipse.equinox.internal.p2.ui; -import org.eclipse.equinox.p2.core.ProvisionException; - import java.net.URI; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.equinox.internal.p2.artifact.repository.ArtifactRepositoryManager; +import org.eclipse.equinox.p2.core.ProvisionException; import org.eclipse.equinox.p2.metadata.IArtifactKey; import org.eclipse.equinox.p2.operations.RepositoryTracker; import org.eclipse.equinox.p2.repository.IRepositoryManager; @@ -33,7 +32,7 @@ public class QueryableArtifactRepositoryManager extends QueryableRepositoryManag } protected IArtifactRepositoryManager getRepositoryManager() { - return getSession().getArtifactRepositoryManager(); + return ProvUI.getArtifactRepositoryManager(getSession()); } protected IArtifactRepository doLoadRepository(IRepositoryManager<IArtifactKey> manager, URI location, IProgressMonitor monitor) throws ProvisionException { diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/QueryableMetadataRepositoryManager.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/QueryableMetadataRepositoryManager.java index ce65c8cce..bdfef684c 100644 --- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/QueryableMetadataRepositoryManager.java +++ b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/QueryableMetadataRepositoryManager.java @@ -10,11 +10,10 @@ *******************************************************************************/ package org.eclipse.equinox.internal.p2.ui; -import org.eclipse.equinox.p2.core.ProvisionException; - import java.net.URI; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager; +import org.eclipse.equinox.p2.core.ProvisionException; import org.eclipse.equinox.p2.metadata.IInstallableUnit; import org.eclipse.equinox.p2.operations.RepositoryTracker; import org.eclipse.equinox.p2.repository.IRepositoryManager; @@ -40,7 +39,7 @@ public class QueryableMetadataRepositoryManager extends QueryableRepositoryManag } protected IMetadataRepositoryManager getRepositoryManager() { - return getSession().getMetadataRepositoryManager(); + return ProvUI.getMetadataRepositoryManager(getSession()); } protected IMetadataRepository doLoadRepository(IRepositoryManager<IInstallableUnit> manager, URI location, IProgressMonitor monitor) throws ProvisionException { diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/RepositoryNameAndLocationDialog.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/RepositoryNameAndLocationDialog.java index 8430b3b7e..d1f31d688 100644 --- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/RepositoryNameAndLocationDialog.java +++ b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/RepositoryNameAndLocationDialog.java @@ -15,7 +15,6 @@ import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; import org.eclipse.equinox.internal.p2.ui.ProvUIActivator; import org.eclipse.equinox.internal.p2.ui.ProvUIMessages; -import org.eclipse.equinox.p2.operations.ProvisioningSession; import org.eclipse.equinox.p2.operations.RepositoryTracker; import org.eclipse.equinox.p2.ui.ProvisioningUI; import org.eclipse.jface.dialogs.*; @@ -137,9 +136,9 @@ public class RepositoryNameAndLocationDialog extends StatusDialog { status[0] = getRepositoryTracker().getInvalidLocationStatus(url.getText().trim()); final URI userLocation = getUserLocation(); if (url.getText().length() == 0) - status[0] = new Status(IStatus.ERROR, ProvUIActivator.PLUGIN_ID, ProvisioningSession.STATUS_INVALID_REPOSITORY_LOCATION, ProvUIMessages.RepositoryGroup_URLRequired, null); + status[0] = new Status(IStatus.ERROR, ProvUIActivator.PLUGIN_ID, RepositoryTracker.STATUS_INVALID_REPOSITORY_LOCATION, ProvUIMessages.RepositoryGroup_URLRequired, null); else if (userLocation == null) - status[0] = new Status(IStatus.ERROR, ProvUIActivator.PLUGIN_ID, ProvisioningSession.STATUS_INVALID_REPOSITORY_LOCATION, ProvUIMessages.AddRepositoryDialog_InvalidURL, null); + status[0] = new Status(IStatus.ERROR, ProvUIActivator.PLUGIN_ID, RepositoryTracker.STATUS_INVALID_REPOSITORY_LOCATION, ProvUIMessages.AddRepositoryDialog_InvalidURL, null); else { BusyIndicator.showWhile(getShell().getDisplay(), new Runnable() { public void run() { diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/RepositorySelectionGroup.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/RepositorySelectionGroup.java index 1806376b9..0f5871db3 100644 --- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/RepositorySelectionGroup.java +++ b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/RepositorySelectionGroup.java @@ -24,6 +24,7 @@ import org.eclipse.equinox.p2.engine.ProvisioningContext; import org.eclipse.equinox.p2.operations.RepositoryTracker; import org.eclipse.equinox.p2.repository.IRepository; import org.eclipse.equinox.p2.repository.IRepositoryManager; +import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager; import org.eclipse.equinox.p2.ui.ProvisioningUI; import org.eclipse.jface.action.Action; import org.eclipse.jface.action.IAction; @@ -360,7 +361,7 @@ public class RepositorySelectionGroup { } String getSiteString(URI uri) { - String nickname = ui.getSession().getMetadataRepositoryManager().getRepositoryProperty(uri, IRepository.PROP_NICKNAME); + String nickname = getMetadataRepositoryManager().getRepositoryProperty(uri, IRepository.PROP_NICKNAME); if (nickname != null && nickname.length() > 0) return NLS.bind(ProvUIMessages.AvailableIUsPage_NameWithLocation, nickname, URIUtil.toUnencodedString(uri)); return URIUtil.toUnencodedString(uri); @@ -419,7 +420,7 @@ public class RepositorySelectionGroup { private URI[] getLocalSites() { // use our current visibility flags plus the local filter int flags = ui.getRepositoryTracker().getMetadataRepositoryFlags() | IRepositoryManager.REPOSITORIES_LOCAL; - return ui.getSession().getMetadataRepositoryManager().getKnownRepositories(flags); + return getMetadataRepositoryManager().getKnownRepositories(flags); } String[] getComboProposals() { @@ -427,7 +428,7 @@ public class RepositorySelectionGroup { String[] items = repoCombo.getItems(); // Clear any previously remembered disabled repos disabledRepoProposals = new HashMap<String, URI>(); - URI[] disabled = ui.getSession().getMetadataRepositoryManager().getKnownRepositories(flags); + URI[] disabled = getMetadataRepositoryManager().getKnownRepositories(flags); String[] disabledItems = new String[disabled.length]; for (int i = 0; i < disabledItems.length; i++) { disabledItems[i] = getSiteString(disabled[i]); @@ -608,4 +609,8 @@ public class RepositorySelectionGroup { ((IRepositorySelectionListener) selectionListeners[i]).repositorySelectionChanged(repoChoice, repoLocation); } } + + IMetadataRepositoryManager getMetadataRepositoryManager() { + return ProvUI.getMetadataRepositoryManager(ui.getSession()); + } } diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/SizeComputingWizardPage.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/SizeComputingWizardPage.java index 41a986516..cffaa3299 100644 --- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/SizeComputingWizardPage.java +++ b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/SizeComputingWizardPage.java @@ -13,13 +13,13 @@ package org.eclipse.equinox.internal.p2.ui.dialogs; import java.text.NumberFormat; import org.eclipse.core.runtime.*; import org.eclipse.core.runtime.jobs.Job; +import org.eclipse.equinox.internal.p2.ui.ProvUI; import org.eclipse.equinox.internal.p2.ui.ProvUIMessages; import org.eclipse.equinox.internal.p2.ui.model.IUElementListRoot; import org.eclipse.equinox.p2.engine.IProvisioningPlan; import org.eclipse.equinox.p2.engine.ProvisioningContext; import org.eclipse.equinox.p2.metadata.IInstallableUnit; import org.eclipse.equinox.p2.operations.ProfileChangeOperation; -import org.eclipse.equinox.p2.operations.ProvisioningSession; import org.eclipse.equinox.p2.query.IQueryable; import org.eclipse.equinox.p2.ui.LoadMetadataRepositoryJob; import org.eclipse.equinox.p2.ui.ProvisioningUI; @@ -47,20 +47,20 @@ public abstract class SizeComputingWizardPage extends ResolutionResultsWizardPag computeSizing(initialResolution.getProvisioningPlan(), initialResolution.getProvisioningContext()); else // Set the size to indicate there is no size yet. - size = ProvisioningSession.SIZE_NOTAPPLICABLE; + size = ProvUI.SIZE_NOTAPPLICABLE; } protected void computeSizing(final IProvisioningPlan plan, final ProvisioningContext provisioningContext) { if (plan == lastComputedPlan) return; lastComputedPlan = plan; - size = ProvisioningSession.SIZE_UNKNOWN; + size = ProvUI.SIZE_UNKNOWN; updateSizingInfo(); if (sizingJob != null) sizingJob.cancel(); sizingJob = new Job(ProvUIMessages.SizeComputingWizardPage_SizeJobTitle) { protected IStatus run(IProgressMonitor monitor) { - size = getProvisioningUI().getSession().getSize(plan, provisioningContext, monitor); + size = ProvUI.getSize(ProvUI.getEngine(getProvisioningUI().getSession()), plan, provisioningContext, monitor); if (monitor.isCanceled()) return Status.CANCEL_STATUS; if (display != null) { @@ -89,7 +89,7 @@ public abstract class SizeComputingWizardPage extends ResolutionResultsWizardPag protected void updateSizingInfo() { if (sizeInfo != null && !sizeInfo.isDisposed()) { - if (size == ProvisioningSession.SIZE_NOTAPPLICABLE) + if (size == ProvUI.SIZE_NOTAPPLICABLE) sizeInfo.setVisible(false); else { sizeInfo.setText(NLS.bind(ProvUIMessages.UpdateOrInstallWizardPage_Size, getFormattedSize())); @@ -99,7 +99,7 @@ public abstract class SizeComputingWizardPage extends ResolutionResultsWizardPag } protected String getFormattedSize() { - if (size == ProvisioningSession.SIZE_UNKNOWN || size == ProvisioningSession.SIZE_UNAVAILABLE) + if (size == ProvUI.SIZE_UNKNOWN || size == ProvUI.SIZE_UNAVAILABLE) return ProvUIMessages.IUDetailsLabelProvider_Unknown; if (size > 1000L) { long kb = size / 1000L; diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/model/ArtifactRepositoryElement.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/model/ArtifactRepositoryElement.java index ae92e2d3d..046657860 100644 --- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/model/ArtifactRepositoryElement.java +++ b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/model/ArtifactRepositoryElement.java @@ -15,10 +15,10 @@ import org.eclipse.core.runtime.*; import org.eclipse.equinox.internal.p2.ui.*; import org.eclipse.equinox.p2.core.ProvisionException; import org.eclipse.equinox.p2.metadata.IArtifactKey; -import org.eclipse.equinox.p2.operations.ProvisioningSession; import org.eclipse.equinox.p2.query.IQueryable; import org.eclipse.equinox.p2.repository.IRepository; import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository; +import org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManager; import org.eclipse.equinox.p2.ui.ProvisioningUI; /** @@ -69,7 +69,7 @@ public class ArtifactRepositoryElement extends RemoteQueriedElement implements I public IArtifactRepository getRepository(IProgressMonitor monitor) { if (repo == null) try { - repo = ui.getSession().getArtifactRepositoryManager().loadRepository(location, monitor); + repo = getArtifactRepositoryManager().loadRepository(location, monitor); } catch (ProvisionException e) { ui.getRepositoryTracker().reportLoadFailure(location, e); } catch (OperationCanceledException e) { @@ -90,9 +90,9 @@ public class ArtifactRepositoryElement extends RemoteQueriedElement implements I * @see org.eclipse.equinox.internal.provisional.p2.ui.model.RepositoryElement#getName() */ public String getName() { - String name = ui.getSession().getArtifactRepositoryManager().getRepositoryProperty(location, IRepository.PROP_NICKNAME); + String name = getArtifactRepositoryManager().getRepositoryProperty(location, IRepository.PROP_NICKNAME); if (name == null) - name = ui.getSession().getArtifactRepositoryManager().getRepositoryProperty(location, IRepository.PROP_NAME); + name = getArtifactRepositoryManager().getRepositoryProperty(location, IRepository.PROP_NAME); if (name == null) name = ""; //$NON-NLS-1$ return name; @@ -103,10 +103,9 @@ public class ArtifactRepositoryElement extends RemoteQueriedElement implements I * @see org.eclipse.equinox.internal.provisional.p2.ui.model.RepositoryElement#getDescription() */ public String getDescription() { - ProvisioningSession session = ui.getSession(); if (ui.getRepositoryTracker().hasNotFoundStatusBeenReported(location)) return ProvUIMessages.RepositoryElement_NotFound; - String description = session.getArtifactRepositoryManager().getRepositoryProperty(location, IRepository.PROP_DESCRIPTION); + String description = getArtifactRepositoryManager().getRepositoryProperty(location, IRepository.PROP_DESCRIPTION); if (description == null) return ""; //$NON-NLS-1$ return description; @@ -143,4 +142,8 @@ public class ArtifactRepositoryElement extends RemoteQueriedElement implements I queryable = getRepository(new NullProgressMonitor()); return queryable; } + + IArtifactRepositoryManager getArtifactRepositoryManager() { + return ProvUI.getArtifactRepositoryManager(ui.getSession()); + } } 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 abf72fd49..564430a3c 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 @@ -15,13 +15,12 @@ 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.ProvUIImages; -import org.eclipse.equinox.internal.p2.ui.QueryProvider; +import org.eclipse.equinox.internal.p2.ui.*; import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest; 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.planner.IPlanner; import org.eclipse.equinox.p2.repository.IRepository; /** @@ -44,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 = ProvisioningSession.SIZE_UNKNOWN; + long size = ProvUI.SIZE_UNKNOWN; String profileID; public AvailableIUElement(Object parent, IInstallableUnit iu, String profileID, boolean showChildren) { @@ -87,17 +86,29 @@ public class AvailableIUElement extends QueriedElement implements IIUElement { return; SubMonitor mon = SubMonitor.convert(monitor, 100); IProvisioningPlan plan = getSizingPlan(mon.newChild(50)); - size = getProvisioningUI().getSession().getSize(plan, getProvisioningContext(), mon.newChild(50)); + size = ProvUI.getSize(getEngine(), plan, getProvisioningContext(), mon.newChild(50)); } protected IProfile getProfile() { - return getProvisioningUI().getSession().getProfileRegistry().getProfile(profileID); + return getProfileRegistry().getProfile(profileID); } protected IProvisioningPlan getSizingPlan(IProgressMonitor monitor) { ProfileChangeRequest request = ProfileChangeRequest.createByProfileId(getProvisioningUI().getSession().getProvisioningAgent(), profileID); request.add(getIU()); - return getProvisioningUI().getSession().getPlanner().getProvisioningPlan(request, getProvisioningContext(), monitor); + return getPlanner().getProvisioningPlan(request, getProvisioningContext(), monitor); + } + + IEngine getEngine() { + return ProvUI.getEngine(getProvisioningUI().getSession()); + } + + IPlanner getPlanner() { + return (IPlanner) getProvisioningUI().getSession().getProvisioningAgent().getService(IPlanner.SERVICE_NAME); + } + + IProfileRegistry getProfileRegistry() { + return ProvUI.getProfileRegistry(getProvisioningUI().getSession()); } public IInstallableUnit getIU() { diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/model/AvailableUpdateElement.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/model/AvailableUpdateElement.java index 5bf38afc7..7aa65a0a2 100644 --- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/model/AvailableUpdateElement.java +++ b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/model/AvailableUpdateElement.java @@ -12,7 +12,6 @@ package org.eclipse.equinox.internal.p2.ui.model; import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.equinox.internal.p2.ui.ProvUIActivator; import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest; import org.eclipse.equinox.p2.engine.IProvisioningPlan; import org.eclipse.equinox.p2.engine.ProvisioningContext; @@ -45,7 +44,7 @@ public class AvailableUpdateElement extends AvailableIUElement { if (iuToBeUpdated.getId().equals(getIU().getId())) request.remove(iuToBeUpdated); request.add(getIU()); - return ProvUIActivator.getDefault().getSession().getPlanner().getProvisioningPlan(request, new ProvisioningContext(), monitor); + return getPlanner().getProvisioningPlan(request, new ProvisioningContext(), monitor); } public boolean equals(Object obj) { diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/model/CategoryElement.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/model/CategoryElement.java index e929b79bd..f343af353 100644 --- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/model/CategoryElement.java +++ b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/model/CategoryElement.java @@ -14,11 +14,9 @@ import java.util.ArrayList; import java.util.Collection; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.equinox.internal.p2.core.helpers.CollectionUtils; -import org.eclipse.equinox.internal.p2.ui.ProvUIImages; -import org.eclipse.equinox.internal.p2.ui.QueryProvider; +import org.eclipse.equinox.internal.p2.ui.*; import org.eclipse.equinox.p2.metadata.IInstallableUnit; import org.eclipse.equinox.p2.metadata.IRequirement; -import org.eclipse.equinox.p2.operations.ProvisioningSession; /** * Element wrapper class for IU's that represent categories of @@ -70,7 +68,7 @@ public class CategoryElement extends RemoteQueriedElement implements IIUElement } public long getSize() { - return ProvisioningSession.SIZE_UNKNOWN; + return ProvUI.SIZE_UNKNOWN; } public boolean shouldShowSize() { diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/model/ElementUtils.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/model/ElementUtils.java index 6edd9bb71..bde26b247 100644 --- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/model/ElementUtils.java +++ b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/model/ElementUtils.java @@ -38,8 +38,8 @@ public class ElementUtils { public IStatus run(IProgressMonitor monitor) { final ProvisioningUI ui = ProvUIActivator.getDefault().getProvisioningUI(); ui.signalRepositoryOperationStart(); - IMetadataRepositoryManager metaManager = ui.getSession().getMetadataRepositoryManager(); - IArtifactRepositoryManager artManager = ui.getSession().getArtifactRepositoryManager(); + IMetadataRepositoryManager metaManager = ProvUI.getMetadataRepositoryManager(ui.getSession()); + IArtifactRepositoryManager artManager = ProvUI.getArtifactRepositoryManager(ui.getSession()); try { int visibilityFlags = ui.getRepositoryTracker().getMetadataRepositoryFlags(); URI[] currentlyEnabled = metaManager.getKnownRepositories(visibilityFlags); @@ -99,8 +99,8 @@ public class ElementUtils { } private static void setColocatedRepositoryEnablement(ProvisioningUI ui, URI location, boolean enable) { - ProvUIActivator.getDefault().getSession().getArtifactRepositoryManager().setEnabled(location, enable); - ProvUIActivator.getDefault().getSession().getMetadataRepositoryManager().setEnabled(location, enable); + ProvUI.getArtifactRepositoryManager(ProvUIActivator.getDefault().getSession()).setEnabled(location, enable); + ProvUI.getMetadataRepositoryManager(ProvUIActivator.getDefault().getSession()).setEnabled(location, enable); } public static IInstallableUnit getIU(Object element) { diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/model/InstalledIUElement.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/model/InstalledIUElement.java index 2283f24e3..d4e507234 100644 --- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/model/InstalledIUElement.java +++ b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/model/InstalledIUElement.java @@ -12,11 +12,9 @@ package org.eclipse.equinox.internal.p2.ui.model; import java.util.Collection; import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.equinox.internal.p2.ui.ProvUIImages; -import org.eclipse.equinox.internal.p2.ui.QueryProvider; +import org.eclipse.equinox.internal.p2.ui.*; import org.eclipse.equinox.p2.metadata.IInstallableUnit; import org.eclipse.equinox.p2.metadata.IRequirement; -import org.eclipse.equinox.p2.operations.ProvisioningSession; /** * Element wrapper class for installed IU's. Used instead of the plain IU when @@ -66,7 +64,7 @@ public class InstalledIUElement extends QueriedElement implements IIUElement { // TODO Later we might consider showing this in the installed views, // but it is less important than before install. public long getSize() { - return ProvisioningSession.SIZE_UNKNOWN; + return ProvUI.SIZE_UNKNOWN; } public boolean shouldShowSize() { diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/model/MetadataRepositoryElement.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/model/MetadataRepositoryElement.java index b18ffc884..0892b2829 100644 --- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/model/MetadataRepositoryElement.java +++ b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/model/MetadataRepositoryElement.java @@ -17,7 +17,6 @@ import org.eclipse.equinox.internal.p2.ui.*; import org.eclipse.equinox.internal.p2.ui.query.IUViewQueryContext; import org.eclipse.equinox.p2.core.ProvisionException; import org.eclipse.equinox.p2.metadata.IInstallableUnit; -import org.eclipse.equinox.p2.operations.ProvisioningSession; import org.eclipse.equinox.p2.query.IQueryable; import org.eclipse.equinox.p2.repository.IRepository; import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository; @@ -146,11 +145,10 @@ public class MetadataRepositoryElement extends RootElement implements IRepositor * @see org.eclipse.equinox.internal.provisional.p2.ui.model.RepositoryElement#getName() */ public String getName() { - ProvisioningSession session = getProvisioningUI().getSession(); if (name == null) { - name = session.getMetadataRepositoryManager().getRepositoryProperty(location, IRepository.PROP_NICKNAME); + name = getMetadataRepositoryManager().getRepositoryProperty(location, IRepository.PROP_NICKNAME); if (name == null) - name = session.getMetadataRepositoryManager().getRepositoryProperty(location, IRepository.PROP_NAME); + name = getMetadataRepositoryManager().getRepositoryProperty(location, IRepository.PROP_NAME); if (name == null) name = ""; //$NON-NLS-1$ } @@ -171,10 +169,9 @@ public class MetadataRepositoryElement extends RootElement implements IRepositor * @see org.eclipse.equinox.internal.provisional.p2.ui.model.RepositoryElement#getDescription() */ public String getDescription() { - ProvisioningSession session = getProvisioningUI().getSession(); if (getProvisioningUI().getRepositoryTracker().hasNotFoundStatusBeenReported(location)) return ProvUIMessages.RepositoryElement_NotFound; - String description = session.getMetadataRepositoryManager().getRepositoryProperty(location, IRepository.PROP_DESCRIPTION); + String description = getMetadataRepositoryManager().getRepositoryProperty(location, IRepository.PROP_DESCRIPTION); if (description == null) return ""; //$NON-NLS-1$ return description; @@ -209,7 +206,7 @@ public class MetadataRepositoryElement extends RootElement implements IRepositor return true; if (location == null) return false; - IMetadataRepositoryManager manager = ProvUIActivator.getDefault().getSession().getMetadataRepositoryManager(); + IMetadataRepositoryManager manager = getMetadataRepositoryManager(); if (manager == null || !(manager instanceof MetadataRepositoryManager)) return false; IMetadataRepository repo = ((MetadataRepositoryManager) manager).getRepository(location); @@ -238,4 +235,8 @@ public class MetadataRepositoryElement extends RootElement implements IRepositor result.append(" (not loaded)"); //$NON-NLS-1$ return result.toString(); } + + IMetadataRepositoryManager getMetadataRepositoryManager() { + return ProvUI.getMetadataRepositoryManager(getProvisioningUI().getSession()); + } } diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/query/ArtifactRepositoryElementWrapper.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/query/ArtifactRepositoryElementWrapper.java index c3cccf152..a81b6bc9d 100644 --- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/query/ArtifactRepositoryElementWrapper.java +++ b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/query/ArtifactRepositoryElementWrapper.java @@ -12,6 +12,7 @@ package org.eclipse.equinox.internal.p2.ui.query; import java.net.URI; +import org.eclipse.equinox.internal.p2.ui.ProvUI; import org.eclipse.equinox.internal.p2.ui.model.ArtifactRepositoryElement; import org.eclipse.equinox.internal.p2.ui.model.QueriedElementWrapper; import org.eclipse.equinox.p2.query.IQueryable; @@ -45,6 +46,6 @@ public class ArtifactRepositoryElementWrapper extends QueriedElementWrapper { * Transforms the item to a UI element */ protected Object wrap(Object item) { - return super.wrap(new ArtifactRepositoryElement(parent, (URI) item, ProvisioningUI.getDefaultUI().getSession().getArtifactRepositoryManager().isEnabled((URI) item))); + return super.wrap(new ArtifactRepositoryElement(parent, (URI) item, ProvUI.getArtifactRepositoryManager(ProvisioningUI.getDefaultUI().getSession()).isEnabled((URI) item))); } } diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/query/MetadataRepositoryElementWrapper.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/query/MetadataRepositoryElementWrapper.java index 245f726be..3718ba120 100644 --- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/query/MetadataRepositoryElementWrapper.java +++ b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/query/MetadataRepositoryElementWrapper.java @@ -12,6 +12,7 @@ package org.eclipse.equinox.internal.p2.ui.query; import java.net.URI; +import org.eclipse.equinox.internal.p2.ui.ProvUI; import org.eclipse.equinox.internal.p2.ui.model.MetadataRepositoryElement; import org.eclipse.equinox.internal.p2.ui.model.QueriedElementWrapper; import org.eclipse.equinox.p2.query.IQueryable; @@ -46,6 +47,6 @@ public class MetadataRepositoryElementWrapper extends QueriedElementWrapper { * Transforms the item to a UI element */ protected Object wrap(Object item) { - return super.wrap(new MetadataRepositoryElement(parent, (URI) item, ProvisioningUI.getDefaultUI().getSession().getMetadataRepositoryManager().isEnabled((URI) item))); + return super.wrap(new MetadataRepositoryElement(parent, (URI) item, ProvUI.getMetadataRepositoryManager(ProvisioningUI.getDefaultUI().getSession()).isEnabled((URI) item))); } } diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/query/QueryableUpdates.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/query/QueryableUpdates.java index 6570fb1bd..6da88b9da 100644 --- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/query/QueryableUpdates.java +++ b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/query/QueryableUpdates.java @@ -40,7 +40,7 @@ public class QueryableUpdates implements IQueryable<IInstallableUnit> { monitor = new NullProgressMonitor(); int totalWork = 2000; monitor.beginTask(ProvUIMessages.QueryableUpdates_UpdateListProgress, totalWork); - IPlanner planner = ui.getSession().getPlanner(); + IPlanner planner = (IPlanner) ui.getSession().getProvisioningAgent().getService(IPlanner.SERVICE_NAME); try { Set<IInstallableUnit> allUpdates = new HashSet<IInstallableUnit>(); for (int i = 0; i < iusToUpdate.length; i++) { diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/viewers/IUDetailsLabelProvider.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/viewers/IUDetailsLabelProvider.java index 31214f8f9..3903e0d12 100644 --- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/viewers/IUDetailsLabelProvider.java +++ b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/viewers/IUDetailsLabelProvider.java @@ -19,7 +19,6 @@ import org.eclipse.equinox.internal.p2.ui.*; import org.eclipse.equinox.internal.p2.ui.model.IIUElement; import org.eclipse.equinox.internal.p2.ui.model.ProvElement; import org.eclipse.equinox.p2.metadata.IInstallableUnit; -import org.eclipse.equinox.p2.operations.ProvisioningSession; import org.eclipse.jface.viewers.*; import org.eclipse.osgi.util.NLS; import org.eclipse.swt.graphics.Font; @@ -133,7 +132,7 @@ public class IUDetailsLabelProvider extends ColumnLabelProvider implements ITabl long size = element.getSize(); // If size is already known, or we already tried // to get it, don't try again - if (size != ProvisioningSession.SIZE_UNKNOWN) + if (size != ProvUI.SIZE_UNKNOWN) return getFormattedSize(size); if (!jobs.containsKey(element)) { Job resolveJob = new Job(element.getIU().getId()) { @@ -151,7 +150,7 @@ public class IUDetailsLabelProvider extends ColumnLabelProvider implements ITabl return Status.CANCEL_STATUS; // If we still could not compute size, give up - if (element.getSize() == ProvisioningSession.SIZE_UNKNOWN) + if (element.getSize() == ProvUI.SIZE_UNKNOWN) return Status.OK_STATUS; if (shell == null || shell.isDisposed()) @@ -181,7 +180,7 @@ public class IUDetailsLabelProvider extends ColumnLabelProvider implements ITabl } private String getFormattedSize(long size) { - if (size == ProvisioningSession.SIZE_UNKNOWN || size == ProvisioningSession.SIZE_UNAVAILABLE) + if (size == ProvUI.SIZE_UNKNOWN || size == ProvUI.SIZE_UNAVAILABLE) return ProvUIMessages.IUDetailsLabelProvider_Unknown; if (size > 1000L) { long kb = size / 1000L; diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/LoadMetadataRepositoryJob.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/LoadMetadataRepositoryJob.java index 42043b980..312ac4041 100644 --- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/LoadMetadataRepositoryJob.java +++ b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/LoadMetadataRepositoryJob.java @@ -16,8 +16,7 @@ import java.util.ArrayList; import java.util.List; import org.eclipse.core.runtime.*; import org.eclipse.equinox.internal.p2.core.helpers.LogHelper; -import org.eclipse.equinox.internal.p2.ui.ProvUIActivator; -import org.eclipse.equinox.internal.p2.ui.ProvUIMessages; +import org.eclipse.equinox.internal.p2.ui.*; import org.eclipse.equinox.p2.core.ProvisionException; import org.eclipse.equinox.p2.operations.ProvisioningJob; import org.eclipse.equinox.p2.operations.RepositoryTracker; @@ -113,7 +112,7 @@ public class LoadMetadataRepositoryJob extends ProvisioningJob { if (sub.isCanceled()) return Status.CANCEL_STATUS; try { - repoCache.add(ui.getSession().getMetadataRepositoryManager().loadRepository(locations[i], sub.newChild(100))); + repoCache.add(ProvUI.getMetadataRepositoryManager(ui.getSession()).loadRepository(locations[i], sub.newChild(100))); } catch (ProvisionException e) { handleLoadFailure(e, locations[i]); } diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/Policy.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/Policy.java index c9c05ee5a..fcf3a5d0f 100644 --- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/Policy.java +++ b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/Policy.java @@ -16,7 +16,7 @@ import org.eclipse.equinox.internal.p2.ui.*; import org.eclipse.equinox.p2.engine.query.UserVisibleRootQuery; import org.eclipse.equinox.p2.metadata.IInstallableUnit; import org.eclipse.equinox.p2.operations.ProfileChangeOperation; -import org.eclipse.equinox.p2.operations.ProvisioningSession; +import org.eclipse.equinox.p2.operations.UpdateOperation; import org.eclipse.equinox.p2.query.IQuery; import org.eclipse.equinox.p2.query.QueryUtil; import org.eclipse.jface.dialogs.IDialogConstants; @@ -101,7 +101,7 @@ public class Policy { return false; // Special case those statuses where we would never want to open a wizard - if (status.getCode() == ProvisioningSession.STATUS_NOTHING_TO_UPDATE) { + if (status.getCode() == UpdateOperation.STATUS_NOTHING_TO_UPDATE) { ProvUI.reportStatus(status, StatusManager.BLOCK); return false; } diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/ProvisioningUI.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/ProvisioningUI.java index 1b5271869..3076096ba 100644 --- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/ProvisioningUI.java +++ b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/ProvisioningUI.java @@ -17,7 +17,6 @@ import java.util.Collection; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.core.runtime.jobs.Job; import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper; -import org.eclipse.equinox.internal.p2.metadata.TranslationSupport; import org.eclipse.equinox.internal.p2.ui.*; import org.eclipse.equinox.internal.p2.ui.dialogs.*; import org.eclipse.equinox.internal.provisional.p2.repository.RepositoryEvent; @@ -28,7 +27,9 @@ import org.eclipse.equinox.p2.metadata.IInstallableUnit; import org.eclipse.equinox.p2.operations.*; import org.eclipse.equinox.p2.repository.IRepository; import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository; +import org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManager; import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository; +import org.eclipse.equinox.p2.repository.metadata.IMetadataRepositoryManager; import org.eclipse.jface.dialogs.TitleAreaDialog; import org.eclipse.jface.preference.PreferenceDialog; import org.eclipse.jface.wizard.WizardDialog; @@ -346,7 +347,7 @@ public class ProvisioningUI { * a corresponding operation ending event is signaled. */ public void signalRepositoryOperationStart() { - getSession().getProvisioningEventBus().publishEvent(new RepositoryOperationBeginningEvent(this)); + ProvUI.getProvisioningEventBus(getSession()).publishEvent(new RepositoryOperationBeginningEvent(this)); } /** @@ -357,7 +358,7 @@ public class ProvisioningUI { * @param update <code>true</code> if the event should be reflected in the UI, false if it should be ignored. */ public void signalRepositoryOperationComplete(RepositoryEvent event, boolean update) { - getSession().getProvisioningEventBus().publishEvent(new RepositoryOperationEndingEvent(this, update, event)); + ProvUI.getProvisioningEventBus(getSession()).publishEvent(new RepositoryOperationEndingEvent(this, update, event)); } /** @@ -375,14 +376,15 @@ public class ProvisioningUI { IMetadataRepository repo = null; try { signalRepositoryOperationStart(); - repo = session.getMetadataRepositoryManager().loadRepository(location, monitor); + IMetadataRepositoryManager manager = ProvUI.getMetadataRepositoryManager(getSession()); + repo = manager.loadRepository(location, monitor); // If there is no user nickname assigned to this repo but there is a provider name, then set the nickname. // This will keep the name in the manager even when the repo is not loaded - String name = session.getMetadataRepositoryManager().getRepositoryProperty(location, IRepository.PROP_NICKNAME); + String name = manager.getRepositoryProperty(location, IRepository.PROP_NICKNAME); if (name == null || name.length() == 0) { name = repo.getName(); if (name != null && name.length() > 0) - session.getMetadataRepositoryManager().setRepositoryProperty(location, IRepository.PROP_NICKNAME, name); + manager.setRepositoryProperty(location, IRepository.PROP_NICKNAME, name); } } catch (ProvisionException e) { getRepositoryTracker().reportLoadFailure(location, e); @@ -410,15 +412,16 @@ public class ProvisioningUI { IArtifactRepository repo; signalRepositoryOperationStart(); try { - repo = session.getArtifactRepositoryManager().loadRepository(location, monitor); + IArtifactRepositoryManager manager = ProvUI.getArtifactRepositoryManager(getSession()); + repo = manager.loadRepository(location, monitor); // If there is no user nickname assigned to this repo but there is a provider name, then set the nickname. // This will keep the name in the manager even when the repo is not loaded - String name = session.getArtifactRepositoryManager().getRepositoryProperty(location, IRepository.PROP_NICKNAME); + String name = manager.getRepositoryProperty(location, IRepository.PROP_NICKNAME); if (name == null) { - name = session.getArtifactRepositoryManager().getRepositoryProperty(location, IRepository.PROP_NAME); + name = manager.getRepositoryProperty(location, IRepository.PROP_NAME); if (name != null) - session.getArtifactRepositoryManager().setRepositoryProperty(location, IRepository.PROP_NICKNAME, name); + manager.setRepositoryProperty(location, IRepository.PROP_NICKNAME, name); } } finally { // We have no idea how many repos may have been touched as a result of loading this one, @@ -427,9 +430,4 @@ public class ProvisioningUI { } return repo; } - - public TranslationSupport getTranslationSupport() { - // TODO Temporary fix to enable build. - return TranslationSupport.getInstance(); - } } diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/RevertProfilePage.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/RevertProfilePage.java index 2b47e6740..7dc1bb3fd 100644 --- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/RevertProfilePage.java +++ b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/p2/ui/RevertProfilePage.java @@ -27,6 +27,7 @@ import org.eclipse.equinox.p2.core.ProvisionException; import org.eclipse.equinox.p2.engine.*; import org.eclipse.equinox.p2.metadata.IInstallableUnit; import org.eclipse.equinox.p2.operations.*; +import org.eclipse.equinox.p2.planner.IPlanner; import org.eclipse.jface.action.Action; import org.eclipse.jface.action.IAction; import org.eclipse.jface.dialogs.*; @@ -351,8 +352,10 @@ public class RevertProfilePage extends InstallationPage implements ICopyable { IRunnableWithProgress runnable = new IRunnableWithProgress() { public void run(IProgressMonitor monitor) { IProfile currentProfile; - currentProfile = getSession().getProfileRegistry().getProfile(profileId); - plan[0] = getSession().getPlanner().getDiffPlan(currentProfile, snapshot, monitor); + IProfileRegistry registry = ProvUI.getProfileRegistry(getSession()); + IPlanner planner = (IPlanner) getSession().getProvisioningAgent().getService(IPlanner.SERVICE_NAME); + currentProfile = registry.getProfile(profileId); + plan[0] = planner.getDiffPlan(currentProfile, snapshot, monitor); } }; ProgressMonitorDialog dialog = new ProgressMonitorDialog(getShell()); |