Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/MetadataRepositoriesView.java')
-rw-r--r--bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/MetadataRepositoriesView.java72
1 files changed, 37 insertions, 35 deletions
diff --git a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/MetadataRepositoriesView.java b/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/MetadataRepositoriesView.java
index 172726c5e..df1c314c1 100644
--- a/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/MetadataRepositoriesView.java
+++ b/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/MetadataRepositoriesView.java
@@ -11,27 +11,24 @@
*******************************************************************************/
package org.eclipse.equinox.internal.p2.ui.admin;
-import org.eclipse.equinox.internal.provisional.p2.repository.IRepositoryManager;
-
-import java.net.URI;
-import java.util.ArrayList;
import java.util.List;
+import org.eclipse.equinox.internal.p2.ui.ProvUIProvisioningListener;
+import org.eclipse.equinox.internal.p2.ui.QueryableMetadataRepositoryManager;
+import org.eclipse.equinox.internal.p2.ui.actions.InstallAction;
import org.eclipse.equinox.internal.p2.ui.admin.dialogs.AddMetadataRepositoryDialog;
import org.eclipse.equinox.internal.p2.ui.admin.preferences.PreferenceConstants;
-import org.eclipse.equinox.internal.provisional.p2.ui.ProvisioningOperationRunner;
-import org.eclipse.equinox.internal.provisional.p2.ui.actions.InstallAction;
-import org.eclipse.equinox.internal.provisional.p2.ui.model.IRepositoryElement;
-import org.eclipse.equinox.internal.provisional.p2.ui.model.MetadataRepositories;
-import org.eclipse.equinox.internal.provisional.p2.ui.operations.RemoveRepositoryOperation;
-import org.eclipse.equinox.internal.provisional.p2.ui.viewers.IUDragAdapter;
-import org.eclipse.equinox.internal.provisional.p2.ui.viewers.StructuredViewerProvisioningListener;
+import org.eclipse.equinox.internal.p2.ui.model.MetadataRepositories;
+import org.eclipse.equinox.internal.p2.ui.query.IUViewQueryContext;
+import org.eclipse.equinox.internal.p2.ui.viewers.IUDragAdapter;
+import org.eclipse.equinox.p2.operations.RepositoryTracker;
+import org.eclipse.equinox.p2.repository.IRepositoryManager;
+import org.eclipse.equinox.p2.ui.Policy;
import org.eclipse.jface.action.IMenuManager;
import org.eclipse.jface.action.Separator;
import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.swt.dnd.*;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.part.PluginTransfer;
-import org.eclipse.ui.statushandlers.StatusManager;
/**
* This view allows users to interact with metadata repositories
@@ -41,6 +38,8 @@ import org.eclipse.ui.statushandlers.StatusManager;
public class MetadataRepositoriesView extends RepositoriesView {
private InstallAction installAction;
+ private RepositoryTracker tracker;
+ MetadataRepositories input;
/**
* The constructor.
@@ -50,7 +49,18 @@ public class MetadataRepositoriesView extends RepositoriesView {
}
protected Object getInput() {
- return new MetadataRepositories(ProvAdminUIActivator.getDefault().getPolicy());
+ if (input == null) {
+ // view by repo
+ IUViewQueryContext context = new IUViewQueryContext(IUViewQueryContext.AVAILABLE_VIEW_BY_REPO);
+ Policy policy = ProvAdminUIActivator.getDefault().getPolicy();
+ context.setShowLatestVersionsOnly(policy.getShowLatestVersionsOnly());
+ context.setShowInstallChildren(policy.getShowDrilldownRequirements());
+ context.setShowProvisioningPlanChildren(policy.getShowDrilldownRequirements());
+ context.setUseCategories(policy.getGroupByCategory());
+
+ input = new MetadataRepositories(context, getProvisioningUI(), new QueryableMetadataRepositoryManager(getProvisioningUI(), false));
+ }
+ return input;
}
protected String getAddCommandLabel() {
@@ -66,21 +76,12 @@ public class MetadataRepositoriesView extends RepositoriesView {
}
protected int openAddRepositoryDialog(Shell shell) {
- return new AddMetadataRepositoryDialog(shell, ProvAdminUIActivator.getDefault().getPolicy()).open();
- }
-
- protected RemoveRepositoryOperation getRemoveOperation(Object[] elements) {
- ArrayList locations = new ArrayList();
- for (int i = 0; i < elements.length; i++) {
- if (elements[i] instanceof IRepositoryElement)
- locations.add(((IRepositoryElement) elements[i]).getLocation());
- }
- return new RemoveMetadataRepositoryOperation(ProvAdminUIMessages.ArtifactRepositoriesView_RemoveRepositoryOperationLabel, (URI[]) locations.toArray(new URI[locations.size()]));
+ return new AddMetadataRepositoryDialog(shell, getProvisioningUI()).open();
}
protected void makeActions() {
super.makeActions();
- installAction = new InstallAction(ProvAdminUIActivator.getDefault().getPolicy(), viewer, null);
+ installAction = new InstallAction(getProvisioningUI(), viewer, null);
}
protected void fillContextMenu(IMenuManager manager) {
@@ -109,21 +110,22 @@ public class MetadataRepositoriesView extends RepositoriesView {
* @see org.eclipse.equinox.internal.p2.ui.admin.RepositoriesView#getListenerEventTypes()
*/
protected int getListenerEventTypes() {
- return StructuredViewerProvisioningListener.PROV_EVENT_METADATA_REPOSITORY;
+ return ProvUIProvisioningListener.PROV_EVENT_METADATA_REPOSITORY;
}
- /*
- * (non-Javadoc)
- * @see org.eclipse.equinox.internal.p2.ui.admin.ProvView#refreshUnderlyingModel()
- */
- protected void refreshUnderlyingModel() {
- ProvisioningOperationRunner.schedule(new RefreshMetadataRepositoriesOperation(ProvAdminUIMessages.ProvView_RefreshCommandLabel, getRepoFlags()), StatusManager.SHOW | StatusManager.LOG);
- }
-
- protected List getVisualProperties() {
- List list = super.getVisualProperties();
+ protected List<String> getVisualProperties() {
+ List<String> list = super.getVisualProperties();
list.add(PreferenceConstants.PREF_USE_CATEGORIES);
list.add(PreferenceConstants.PREF_COLLAPSE_IU_VERSIONS);
return list;
}
+
+ /* (non-Javadoc)
+ * @see org.eclipse.equinox.internal.p2.ui.admin.RepositoriesView#getRepositoryTracker()
+ */
+ protected RepositoryTracker getRepositoryTracker() {
+ if (tracker == null)
+ tracker = new MetadataRepositoryTracker(getProvisioningUI());
+ return tracker;
+ }
}

Back to the top