Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 84360 Details for
Bug 114080
Import Plugin Filtering Incorrect
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
[patch]
org.eclipse.pde.ui.patch
clipboard.txt (text/plain), 9.97 KB, created by
Chris Aniszczyk
on 2007-12-03 16:40:05 EST
(
hide
)
Description:
org.eclipse.pde.ui.patch
Filename:
MIME Type:
Creator:
Chris Aniszczyk
Created:
2007-12-03 16:40:05 EST
Size:
9.97 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.pde.ui >Index: src/org/eclipse/pde/internal/ui/wizards/imports/BaseImportWizardSecondPage.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/imports/BaseImportWizardSecondPage.java,v >retrieving revision 1.34 >diff -u -r1.34 BaseImportWizardSecondPage.java >--- src/org/eclipse/pde/internal/ui/wizards/imports/BaseImportWizardSecondPage.java 8 Jun 2007 16:43:37 -0000 1.34 >+++ src/org/eclipse/pde/internal/ui/wizards/imports/BaseImportWizardSecondPage.java 3 Dec 2007 21:38:24 -0000 >@@ -13,6 +13,7 @@ > import java.util.ArrayList; > > import org.eclipse.jface.dialogs.IDialogSettings; >+import org.eclipse.jface.layout.GridLayoutFactory; > import org.eclipse.jface.viewers.IStructuredContentProvider; > import org.eclipse.jface.viewers.TableViewer; > import org.eclipse.jface.wizard.WizardPage; >@@ -94,7 +95,7 @@ > > protected Composite createComputationsOption(Composite parent, int span) { > Composite composite = new Composite(parent, SWT.NONE); >- composite.setLayout(new GridLayout()); >+ composite.setLayout(GridLayoutFactory.swtDefaults().margins(5, 0).create()); > GridData gd = new GridData(); > gd.horizontalSpan = span; > composite.setLayoutData(gd); >Index: src/org/eclipse/pde/internal/ui/wizards/imports/PluginImportWizardDetailedPage.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/imports/PluginImportWizardDetailedPage.java,v >retrieving revision 1.86 >diff -u -r1.86 PluginImportWizardDetailedPage.java >--- src/org/eclipse/pde/internal/ui/wizards/imports/PluginImportWizardDetailedPage.java 29 Nov 2007 16:09:52 -0000 1.86 >+++ src/org/eclipse/pde/internal/ui/wizards/imports/PluginImportWizardDetailedPage.java 3 Dec 2007 21:38:24 -0000 >@@ -7,18 +7,11 @@ > * > * Contributors: > * IBM Corporation - initial API and implementation >- * Joern Dinkla <devnull@dinkla.com> - Bug 210264 >+ * Joern Dinkla <devnull@dinkla.com> - bug 210264 >+ * Bartosz Michalik <bartosz.michalik@gmail.com> - bug 114080 > *******************************************************************************/ >-/* >- * Created on May 31, 2003 >- * >- * To change this generated comment go to >- * Window>Preferences>Java>Code Generation>Code Template >- */ > package org.eclipse.pde.internal.ui.wizards.imports; > >- >- > import java.util.ArrayList; > import java.util.HashMap; > import java.util.regex.Pattern; >@@ -28,6 +21,8 @@ > import org.eclipse.core.runtime.IStatus; > import org.eclipse.core.runtime.Status; > import org.eclipse.jface.dialogs.Dialog; >+import org.eclipse.jface.dialogs.IDialogSettings; >+import org.eclipse.jface.layout.GridLayoutFactory; > import org.eclipse.jface.viewers.DoubleClickEvent; > import org.eclipse.jface.viewers.IDoubleClickListener; > import org.eclipse.jface.viewers.ISelection; >@@ -67,6 +62,7 @@ > import org.eclipse.swt.widgets.Text; > import org.eclipse.ui.PlatformUI; > import org.eclipse.ui.progress.WorkbenchJob; >+import org.osgi.framework.Version; > > public class PluginImportWizardDetailedPage extends BaseImportWizardSecondPage { > >@@ -82,6 +78,7 @@ > private Label fCountLabel; > private TableViewer fAvailableListViewer; > private Text fFilterText; >+ private VersionFilter fVersionFilter; > private AvailableFilter fFilter; > // fSelected is used to track the selection in a HashMap so we can efficiently > // filter selected items out of the available item list >@@ -95,6 +92,9 @@ > private Button fRemoveButton; > private Button fRemoveAllButton; > private Button fAddRequiredButton; >+ private Button fFilterOldVersionButton; >+ >+ private static final String SETTINGS_SHOW_LATEST = "showLatestPluginsOnly"; //$NON-NLS-1$ > > private class AvailableFilter extends ViewerFilter { > private Pattern fPattern; >@@ -120,8 +120,6 @@ > public boolean setPattern(String newPattern) { > if (!newPattern.endsWith("*")) //$NON-NLS-1$ > newPattern += "*"; //$NON-NLS-1$ >- if (!newPattern.startsWith("*")) //$NON-NLS-1$ >- newPattern = "*" + newPattern; //$NON-NLS-1$ > if (fPattern != null) { > String oldPattern = fPattern.pattern(); > if (newPattern.equals(oldPattern)) >@@ -132,6 +130,42 @@ > } > } > >+ /** >+ * This filter is used to remove older plug-ins from view >+ * >+ */ >+ private class VersionFilter extends ViewerFilter { >+ private HashMap versions = new HashMap(); >+ >+ public void setModel(IPluginModelBase[] plugins) { >+ if (plugins != null && plugins.length > 0) { >+ versions.clear(); >+ } >+ for (int i = 0; i < plugins.length; ++i) { >+ String name = plugins[i].getBundleDescription() >+ .getSymbolicName(); >+ Version version = plugins[i].getBundleDescription() >+ .getVersion(); >+ Version oldVersion = (Version) versions.get(name); >+ if (oldVersion == null || oldVersion.compareTo(version) < 0) { >+ versions.put(name, version); >+ } >+ } >+ } >+ >+ public boolean select(Viewer viewer, Object parentElement, >+ Object element) { >+ IPluginModelBase plugin = (IPluginModelBase) element; >+ Version hVersion = (Version) versions.get(plugin >+ .getBundleDescription().getSymbolicName()); >+ if (hVersion == null) return true; >+ return hVersion.equals(plugin.getBundleDescription().getVersion()); >+ } >+ >+ >+ >+ } >+ > public PluginImportWizardDetailedPage(String pageName, PluginImportWizardFirstPage firstPage) { > super(pageName, firstPage); > setTitle(PDEUIMessages.ImportWizard_DetailedPage_title); >@@ -153,7 +187,13 @@ > createButtonArea(container); > createImportList(container).setLayoutData(new GridData(GridData.FILL_BOTH)); > updateCount(); >- createComputationsOption(container, 3); >+ >+ // create container for buttons >+ Composite buttonContainer = new Composite(container, SWT.NONE); >+ buttonContainer.setLayout(GridLayoutFactory.fillDefaults().create()); >+ createComputationsOption(buttonContainer, 3); >+ createFilterOption(buttonContainer, 3); >+ > addViewerListeners(); > addFilter(); > >@@ -163,9 +203,41 @@ > PlatformUI.getWorkbench().getHelpSystem().setHelp(container, IHelpContextIds.PLUGIN_IMPORT_SECOND_PAGE); > } > >+ private void createFilterOption(Composite container, int span) { >+ Composite parent = new Composite(container, SWT.NONE); >+ parent.setLayout(GridLayoutFactory.swtDefaults().margins(5, 0).create()); >+ fFilterOldVersionButton = new Button(parent, SWT.CHECK); >+ fFilterOldVersionButton.setSelection(true); >+ fFilterOldVersionButton.setText(PDEUIMessages.ImportWizard_DetailedPage_filterDesc); >+ GridData gData = new GridData(GridData.FILL_HORIZONTAL); >+ gData.horizontalSpan = span; >+ fFilterOldVersionButton.setLayoutData(gData); >+ >+ if (getDialogSettings().get(SETTINGS_SHOW_LATEST) != null) >+ fFilterOldVersionButton.setSelection(getDialogSettings().getBoolean(SETTINGS_SHOW_LATEST)); >+ else >+ fFilterOldVersionButton.setSelection(true); >+ >+ fFilterOldVersionButton.addSelectionListener(new SelectionAdapter() { >+ public void widgetSelected(SelectionEvent e) { >+ fAvailableListViewer.removeFilter(fVersionFilter); >+ if(fFilterOldVersionButton.getSelection()) { >+ fAvailableListViewer.addFilter(fVersionFilter); >+ } >+ fAvailableListViewer.getTable().setRedraw(false); >+ fAvailableListViewer.refresh(); >+ fAvailableListViewer.getTable().setRedraw(true); >+ } >+ >+ }); >+ } >+ > private void addFilter() { >+ fVersionFilter = new VersionFilter(); >+ fVersionFilter.setModel(fModels); > fFilter = new AvailableFilter(); > fAvailableListViewer.addFilter(fFilter); >+ fAvailableListViewer.addFilter(fVersionFilter); > fFilterJob = new WorkbenchJob("FilterJob") { //$NON-NLS-1$ > public IStatus runInUIThread(IProgressMonitor monitor) { > handleFilter(); >@@ -336,6 +408,7 @@ > > }); > SWTUtil.setButtonDimensionHint(fAddRequiredButton); >+ > > fCountLabel = new Label(container, SWT.NONE); > fCountLabel.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_CENTER)); >@@ -378,6 +451,7 @@ > fImportListViewer.getTable().removeAll(); > fSelected = new HashMap(); > fFilter.setPattern("*"); //$NON-NLS-1$ >+ fVersionFilter.setModel(fModels); > fAvailableListViewer.refresh(); > pageChanged(); > } >@@ -610,7 +684,7 @@ > } > handleSetImportSelection(result); > } >- >+ > private void handleAddRequiredPlugins() { > TableItem[] items = fImportListViewer.getTable().getItems(); > if (items.length == 0) >@@ -628,6 +702,7 @@ > } > handleSetImportSelection(result); > } >+ > public void dispose() { > fFilterJob.cancel(); > } >@@ -635,4 +710,11 @@ > private void setBlockSelectionListeners(boolean blockSelectionListeners) { > fBlockSelectionListeners = blockSelectionListeners; > } >+ >+ public void storeSettings() { >+ IDialogSettings settings = getDialogSettings(); >+ settings.put(SETTINGS_SHOW_LATEST, fFilterOldVersionButton.getSelection()); >+ super.storeSettings(); >+ } >+ > } >Index: src/org/eclipse/pde/internal/ui/pderesources.properties >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/pderesources.properties,v >retrieving revision 1.942 >diff -u -r1.942 pderesources.properties >--- src/org/eclipse/pde/internal/ui/pderesources.properties 3 Dec 2007 20:23:12 -0000 1.942 >+++ src/org/eclipse/pde/internal/ui/pderesources.properties 3 Dec 2007 21:38:24 -0000 >@@ -1104,7 +1104,7 @@ > ImplicitDependenicesSection_RemoveAll=Remove All > ImportWizard_DetailedPage_count = {0} out of {1} selected > ImportWizard_DetailedPage_filter = Filter Available Plug-ins and Fragments >-ImportWizard_DetailedPage_filterDesc=Filter out duplicated plugin with older versions >+ImportWizard_DetailedPage_filterDesc=Show latest version of plug-ins only > ImportWizard_DetailedPage_search = &ID (* = any string, ? = any character): > > ImportWizard_operation_creating = Creating projects from plug-ins...
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 114080
:
28910
|
28911
|
81999
|
84113
|
84114
|
84185
|
84186
| 84360 |
84361