Bug 487303 - [Search] Remove "Classic Search" view

Get rid of internal classes part of "old" search.

Change-Id: Ie29c65d7da6667aec9d57e29ea9b246040e6a3dd
Reviewed-on: https://git.eclipse.org/r/c/platform/eclipse.platform.text/+/186121
Tested-by: Platform Bot <platform-bot@eclipse.org>
Reviewed-by: Alexander Kurtakov <akurtako@redhat.com>
diff --git a/org.eclipse.search/.settings/.api_filters b/org.eclipse.search/.settings/.api_filters
index 89f4b44..7b25d24 100644
--- a/org.eclipse.search/.settings/.api_filters
+++ b/org.eclipse.search/.settings/.api_filters
@@ -16,12 +16,4 @@
             </message_arguments>
         </filter>
     </resource>
-    <resource path="search/org/eclipse/search/internal/ui/SearchResultViewer.java" type="org.eclipse.search.internal.ui.SearchResultViewer">
-        <filter id="571473929">
-            <message_arguments>
-                <message_argument value="TableViewer"/>
-                <message_argument value="SearchResultViewer"/>
-            </message_arguments>
-        </filter>
-    </resource>
 </component>
diff --git a/org.eclipse.search/plugin.xml b/org.eclipse.search/plugin.xml
index 786ede2..14a0121 100644
--- a/org.eclipse.search/plugin.xml
+++ b/org.eclipse.search/plugin.xml
@@ -375,14 +375,6 @@
 	     </specification>
 	</extension>
 	
-	<extension point="org.eclipse.core.runtime.adapters">
-		<factory 
-			class="org.eclipse.search.internal.ui.SearchResultViewEntryAdapterFactory" 
-			adaptableType="org.eclipse.search.ui.ISearchResultViewEntry">
-				<adapter type="org.eclipse.core.resources.IResource"/>
-				<adapter type="org.eclipse.core.resources.IMarker"/>
-		</factory>
-	</extension>
  <extension
        point="org.eclipse.core.runtime.preferences">
     <initializer class="org.eclipse.search.internal.ui.SearchPreferenceInitializer"/>
diff --git a/org.eclipse.search/search/org/eclipse/search/internal/ui/GotoMarkerAction.java b/org.eclipse.search/search/org/eclipse/search/internal/ui/GotoMarkerAction.java
deleted file mode 100644
index 813d561..0000000
--- a/org.eclipse.search/search/org/eclipse/search/internal/ui/GotoMarkerAction.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.search.internal.ui;
-
-import org.eclipse.jface.action.Action;
-
-/**
- * @deprecated old search
- */
-@Deprecated
-class GotoMarkerAction extends Action {
-
-	private SearchResultViewer fViewer;
-
-	public GotoMarkerAction(SearchResultViewer viewer) {
-		super(SearchMessages.SearchResultView_gotoMarker_text);
-		SearchPluginImages.setImageDescriptors(this, SearchPluginImages.T_LCL, SearchPluginImages.IMG_LCL_SEARCH_GOTO);
-		setToolTipText(SearchMessages.SearchResultView_gotoMarker_tooltip);
-		fViewer= viewer;
-	}
-
-	@Override
-	public void run() {
-		fViewer.showResult();
-	}
-}
diff --git a/org.eclipse.search/search/org/eclipse/search/internal/ui/RemoveAllResultsAction.java b/org.eclipse.search/search/org/eclipse/search/internal/ui/RemoveAllResultsAction.java
deleted file mode 100644
index c8144f7..0000000
--- a/org.eclipse.search/search/org/eclipse/search/internal/ui/RemoveAllResultsAction.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.search.internal.ui;
-
-import org.eclipse.jface.action.Action;
-
-/**
- * @deprecated old search
- */
-@Deprecated
-class RemoveAllResultsAction extends Action {
-
-	public RemoveAllResultsAction() {
-		super(SearchMessages.SearchResultView_removeAllResults_text);
-		SearchPluginImages.setImageDescriptors(this, SearchPluginImages.T_LCL, SearchPluginImages.IMG_LCL_SEARCH_REM_ALL);
-		setToolTipText(SearchMessages.SearchResultView_removeAllResults_tooltip);
-	}
-
-	@Override
-	public void run() {
-		SearchManager.getDefault().removeAllResults();
-	}
-}
diff --git a/org.eclipse.search/search/org/eclipse/search/internal/ui/RemoveAllSearchesAction.java b/org.eclipse.search/search/org/eclipse/search/internal/ui/RemoveAllSearchesAction.java
deleted file mode 100644
index f25f1e7..0000000
--- a/org.eclipse.search/search/org/eclipse/search/internal/ui/RemoveAllSearchesAction.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.search.internal.ui;
-
-import org.eclipse.jface.action.Action;
-
-/**
- * @deprecated old search
- */
-@Deprecated
-class RemoveAllSearchesAction extends Action {
-
-	public RemoveAllSearchesAction() {
-		super(SearchMessages.SearchResultView_removeAllSearches_text);
-		SearchPluginImages.setImageDescriptors(this, SearchPluginImages.T_LCL, SearchPluginImages.IMG_LCL_SEARCH_REM_ALL);
-		setToolTipText(SearchMessages.SearchResultView_removeAllSearches_tooltip);
-	}
-
-	@Override
-	public void run() {
-		SearchManager.getDefault().removeAllSearches();
-	}
-}
diff --git a/org.eclipse.search/search/org/eclipse/search/internal/ui/RemoveMatchAction.java b/org.eclipse.search/search/org/eclipse/search/internal/ui/RemoveMatchAction.java
deleted file mode 100644
index e9ffee5..0000000
--- a/org.eclipse.search/search/org/eclipse/search/internal/ui/RemoveMatchAction.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.search.internal.ui;
-
-import org.eclipse.core.runtime.CoreException;
-
-import org.eclipse.core.resources.IMarker;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-
-import org.eclipse.search.internal.ui.util.ExceptionHandler;
-import org.eclipse.search.ui.ISearchResultViewEntry;
-
-/**
- * @deprecated old search
- */
-@Deprecated
-class RemoveMatchAction extends Action {
-
-	private ISelectionProvider fSelectionProvider;
-
-	public RemoveMatchAction(ISelectionProvider provider) {
-		super(SearchMessages.SearchResultView_removeMatch_text);
-		setToolTipText(SearchMessages.SearchResultView_removeMatch_tooltip);
-		fSelectionProvider= provider;
-	}
-
-	@Override
-	public void run() {
-		IMarker[] markers= getMarkers(fSelectionProvider.getSelection());
-		if (markers != null)
-			try {
-				SearchPlugin.getWorkspace().deleteMarkers(markers);
-			} catch (CoreException ex) {
-				ExceptionHandler.handle(ex, SearchMessages.Search_Error_deleteMarkers_title, SearchMessages.Search_Error_deleteMarkers_message);
-			}
-	}
-
-	private IMarker[] getMarkers(ISelection s) {
-		if (! (s instanceof IStructuredSelection) || s.isEmpty())
-			return null;
-
-		IStructuredSelection selection= (IStructuredSelection)s;
-		int size= selection.size();
-		if (size != 1)
-			return null;
-		if (selection.getFirstElement() instanceof ISearchResultViewEntry) {
-			IMarker marker= ((ISearchResultViewEntry)selection.getFirstElement()).getSelectedMarker();
-			if (marker != null)
-				return new IMarker[] {marker};
-		}
-		return null;
-	}
-}
diff --git a/org.eclipse.search/search/org/eclipse/search/internal/ui/RemovePotentialMatchesAction.java b/org.eclipse.search/search/org/eclipse/search/internal/ui/RemovePotentialMatchesAction.java
deleted file mode 100644
index 2089ea7..0000000
--- a/org.eclipse.search/search/org/eclipse/search/internal/ui/RemovePotentialMatchesAction.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2015 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.search.internal.ui;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import org.eclipse.core.runtime.CoreException;
-
-import org.eclipse.core.resources.IMarker;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-
-import org.eclipse.ui.IWorkbenchSite;
-
-import org.eclipse.search.internal.ui.util.ExceptionHandler;
-import org.eclipse.search.ui.SearchUI;
-
-/**
- * @deprecated old search
- */
-@Deprecated
-class RemovePotentialMatchesAction extends Action {
-
-	private IWorkbenchSite fSite;
-
-	public RemovePotentialMatchesAction(IWorkbenchSite site) {
-		fSite= site;
-
-		if (usePluralLabel()) {
-			setText(SearchMessages.RemovePotentialMatchesAction_removePotentialMatches_text);
-			setToolTipText(SearchMessages.RemovePotentialMatchesAction_removePotentialMatches_tooltip);
-		}
-		else {
-			setText(SearchMessages.RemovePotentialMatchesAction_removePotentialMatch_text);
-			setToolTipText(SearchMessages.RemovePotentialMatchesAction_removePotentialMatch_tooltip);
-		}
-	}
-
-	@Override
-	public void run() {
-		IMarker[] markers= getMarkers();
-		if (markers != null)
-			try {
-				SearchPlugin.getWorkspace().deleteMarkers(markers);
-			} catch (CoreException ex) {
-				ExceptionHandler.handle(ex, SearchMessages.Search_Error_deleteMarkers_title, SearchMessages.Search_Error_deleteMarkers_message);
-			}
-		else {
-			String title= SearchMessages.RemovePotentialMatchesAction_dialog_title;
-			String message= SearchMessages.RemovePotentialMatchesAction_dialog_message;
-			MessageDialog.openInformation(fSite.getShell(), title, message);
-		}
-
-		// action only makes sense once
-		setEnabled(false);
-	}
-
-	private IMarker[] getMarkers() {
-
-		ISelection s= fSite.getSelectionProvider().getSelection();
-		if (! (s instanceof IStructuredSelection))
-			return null;
-		IStructuredSelection selection= (IStructuredSelection)s;
-
-		int size= selection.size();
-		if (size <= 0)
-			return null;
-
-		ArrayList<IMarker> markers= new ArrayList<>(size * 3);
-		Iterator<?> iter= selection.iterator();
-		while (iter.hasNext()) {
-			SearchResultViewEntry entry= (SearchResultViewEntry)iter.next();
-			Iterator<IMarker> entryIter= entry.getMarkers().iterator();
-			while (entryIter.hasNext()) {
-				IMarker marker= entryIter.next();
-				if (marker.getAttribute(SearchUI.POTENTIAL_MATCH, false))
-					markers.add(marker);
-			}
-		}
-		return markers.toArray(new IMarker[markers.size()]);
-	}
-
-	private boolean usePluralLabel() {
-		ISelection s= fSite.getSelectionProvider().getSelection();
-
-		if (! (s instanceof IStructuredSelection) || s.isEmpty())
-			return false;
-
-		IStructuredSelection selection= (IStructuredSelection)s;
-		int size= selection.size();
-		if (size <= 0)
-			return false;
-
-		int markerCount= 0;
-		Iterator<?> iter= selection.iterator();
-		while (iter.hasNext()) {
-			SearchResultViewEntry entry= (SearchResultViewEntry)iter.next();
-			Iterator<IMarker> entryIter= entry.getMarkers().iterator();
-			while (entryIter.hasNext()) {
-				IMarker marker= entryIter.next();
-				if (marker.getAttribute(SearchUI.POTENTIAL_MATCH, false)) {
-					markerCount++;
-				}
-				if (markerCount > 1)
-					return true;
-			}
-		}
-		return false;
-	}
-}
diff --git a/org.eclipse.search/search/org/eclipse/search/internal/ui/RemoveResultAction.java b/org.eclipse.search/search/org/eclipse/search/internal/ui/RemoveResultAction.java
deleted file mode 100644
index 6677d5d..0000000
--- a/org.eclipse.search/search/org/eclipse/search/internal/ui/RemoveResultAction.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2015 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.search.internal.ui;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-
-import org.eclipse.swt.custom.BusyIndicator;
-
-import org.eclipse.core.runtime.CoreException;
-
-import org.eclipse.core.resources.IMarker;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.ISelectionProvider;
-import org.eclipse.jface.viewers.IStructuredSelection;
-
-import org.eclipse.search.internal.ui.util.ExceptionHandler;
-import org.eclipse.search.ui.ISearchResultViewEntry;
-
-/**
- * @deprecated old search
- */
-@Deprecated
-class RemoveResultAction extends Action {
-
-	private ISelectionProvider fSelectionProvider;
-
-	public RemoveResultAction(ISelectionProvider provider, boolean stringsDependOnMatchCount) {
-		fSelectionProvider= provider;
-		if (!stringsDependOnMatchCount || usePluralLabel()) {
-			setText(SearchMessages.SearchResultView_removeEntries_text);
-			setToolTipText(SearchMessages.SearchResultView_removeEntries_tooltip);
-		}
-		else {
-			setText(SearchMessages.SearchResultView_removeEntry_text);
-			setToolTipText(SearchMessages.SearchResultView_removeEntry_tooltip);
-		}
-		SearchPluginImages.setImageDescriptors(this, SearchPluginImages.T_LCL, SearchPluginImages.IMG_LCL_SEARCH_REM);
-	}
-
-	@Override
-	public void run() {
-		final IMarker[] markers= getMarkers(fSelectionProvider.getSelection());
-		if (markers != null) {
-			BusyIndicator.showWhile(SearchPlugin.getActiveWorkbenchShell().getDisplay(), () -> {
-				try {
-					SearchPlugin.getWorkspace().deleteMarkers(markers);
-				} catch (CoreException ex) {
-					ExceptionHandler.handle(ex, SearchMessages.Search_Error_deleteMarkers_title, SearchMessages.Search_Error_deleteMarkers_message);
-				}
-			});
-		}
-	}
-
-	private IMarker[] getMarkers(ISelection s) {
-		if (! (s instanceof IStructuredSelection) || s.isEmpty())
-			return null;
-
-		IStructuredSelection selection= (IStructuredSelection)s;
-		int size= selection.size();
-		if (size <= 0)
-			return null;
-		ArrayList<IMarker> markers= new ArrayList<>(size * 3);
-		int markerCount= 0;
-		Iterator<?> iter= selection.iterator();
-		while (iter.hasNext()) {
-			SearchResultViewEntry entry= (SearchResultViewEntry)iter.next();
-			markerCount += entry.getMatchCount();
-			markers.addAll(entry.getMarkers());
-		}
-		return markers.toArray(new IMarker[markerCount]);
-	}
-
-	private boolean usePluralLabel() {
-		ISelection s= fSelectionProvider.getSelection();
-		if (s == null || s.isEmpty() || !(s instanceof IStructuredSelection))
-			return false;
-		IStructuredSelection selection= (IStructuredSelection)s;
-
-		if (selection.size() != 1)
-			return true;
-
-		Object firstElement= selection.getFirstElement();
-		if (firstElement instanceof ISearchResultViewEntry)
-			return ((ISearchResultViewEntry)firstElement).getMatchCount() > 1;
-		return false;
-	}
-}
diff --git a/org.eclipse.search/search/org/eclipse/search/internal/ui/ResourceToItemsMapper.java b/org.eclipse.search/search/org/eclipse/search/internal/ui/ResourceToItemsMapper.java
deleted file mode 100644
index 3c5605b..0000000
--- a/org.eclipse.search/search/org/eclipse/search/internal/ui/ResourceToItemsMapper.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2015 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.search.internal.ui;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Stack;
-
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.widgets.Item;
-
-import org.eclipse.core.resources.IResource;
-
-import org.eclipse.jface.viewers.ContentViewer;
-import org.eclipse.jface.viewers.ILabelProvider;
-
-import org.eclipse.search.ui.ISearchResultViewEntry;
-
-/**
- * Helper class for updating error markers and other decorators that work on resources.
- * Items are mapped to their element's underlying resource.
- * Method <code>resourceChanged</code> updates all items that are affected from the changed
- * elements.
- * @deprecated old search
- */
-@Deprecated
-class ResourceToItemsMapper {
-
-	private static final int NUMBER_LIST_REUSE= 10;
-
-	/** map from IResource to {@code Item | List<Item>} **/
-	private HashMap<IResource, Object> fResourceToItem;
-	private Stack<List<Item>> fReuseLists;
-
-	private ContentViewer fContentViewer;
-
-	public ResourceToItemsMapper(ContentViewer viewer) {
-		fResourceToItem= new HashMap<>();
-		fReuseLists= new Stack<>();
-
-		fContentViewer= viewer;
-	}
-
-	/**
-	 * Must be called from the UI thread.
-	 * @param changedResource changed resources
-	 */
-	@SuppressWarnings("unchecked")
-	public void resourceChanged(IResource changedResource) {
-		Object obj= fResourceToItem.get(changedResource);
-		if (obj == null) {
-			// not mapped
-		} else if (obj instanceof Item) {
-			updateItem((Item) obj);
-		} else { // List of Items
-			for (Item element : (List<Item>) obj) {
-				updateItem(element);
-			}
-		}
-	}
-
-	private void updateItem(Item item) {
-		if (!item.isDisposed()) { // defensive code
-			ILabelProvider lprovider= (ILabelProvider) fContentViewer.getLabelProvider();
-
-			Object data= item.getData();
-
-			String oldText= item.getText();
-			String text= lprovider.getText(data);
-			if (text != null && !text.equals(oldText)) {
-				item.setText(text);
-			}
-
-			Image oldImage= item.getImage();
-			Image image= lprovider.getImage(data);
-			if (image != null && !image.equals(oldImage)) {
-				item.setImage(image);
-			}
-		}
-	}
-
-	/**
-	 * Adds a new item to the map.
-	 * @param element Element to map
-	 * @param item The item used for the element
-	 */
-	public void addToMap(Object element, Item item) {
-		IResource resource= ((ISearchResultViewEntry)element).getResource();
-		if (resource != null) {
-			Object existingMapping= fResourceToItem.get(resource);
-			if (existingMapping == null) {
-				fResourceToItem.put(resource, item);
-			} else if (existingMapping instanceof Item) {
-				if (existingMapping != item) {
-					List<Item> list= getNewList();
-					list.add((Item) existingMapping);
-					list.add(item);
-					fResourceToItem.put(resource, list);
-				}
-			} else { // List
-				@SuppressWarnings("unchecked")
-				List<Item> list= (List<Item>) existingMapping;
-				if (!list.contains(item)) {
-					list.add(item);
-				}
-			}
-		}
-	}
-
-	/**
-	 * Removes an element from the map.
-	 * @param element element to remove
-	 * @param item The item used for the element
-	 */
-	@SuppressWarnings("unlikely-arg-type")
-	public void removeFromMap(Object element, Item item) {
-		IResource resource= ((ISearchResultViewEntry)element).getResource();
-		if (resource != null) {
-			Object existingMapping= fResourceToItem.get(resource);
-			if (existingMapping == null) {
-				return;
-			} else if (existingMapping instanceof Item) {
-				fResourceToItem.remove(resource);
-			} else { // List
-				@SuppressWarnings("unchecked")
-				List<Item> list= (List<Item>) existingMapping;
-				list.remove(item);
-				if (list.isEmpty()) {
-					fResourceToItem.remove(list);
-					releaseList(list);
-				}
-			}
-		}
-	}
-
-	private List<Item> getNewList() {
-		if (!fReuseLists.isEmpty()) {
-			return fReuseLists.pop();
-		}
-		return new ArrayList<>(2);
-	}
-
-	private void releaseList(List<Item> list) {
-		if (fReuseLists.size() < NUMBER_LIST_REUSE) {
-			fReuseLists.push(list);
-		}
-	}
-
-	/**
-	 * Clears the map.
-	 */
-	public void clearMap() {
-		fResourceToItem.clear();
-	}
-
-	/**
-	 * Tests if the map is empty
-	 * @return returns if the map is empty
-	 */
-	public boolean isEmpty() {
-		return fResourceToItem.isEmpty();
-	}
-}
diff --git a/org.eclipse.search/search/org/eclipse/search/internal/ui/Search.java b/org.eclipse.search/search/org/eclipse/search/internal/ui/Search.java
deleted file mode 100644
index 434a0fc..0000000
--- a/org.eclipse.search/search/org/eclipse/search/internal/ui/Search.java
+++ /dev/null
@@ -1,214 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2015 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.search.internal.ui;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.swt.widgets.Shell;
-
-import org.eclipse.core.runtime.Assert;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ISelection;
-
-import org.eclipse.search.internal.ui.util.ExceptionHandler;
-import org.eclipse.search.ui.IActionGroupFactory;
-import org.eclipse.search.ui.IContextMenuContributor;
-import org.eclipse.search.ui.IGroupByKeyComputer;
-import org.eclipse.search.ui.ISearchResultViewEntry;
-/**
- * @deprecated old search
- */
-@Deprecated
-public class Search extends Object {
-	private String fPageId;
-	private String fSingularLabel;
-	private String fPluralLabelPattern;
-	private ImageDescriptor fImageDescriptor;
-	private ILabelProvider fLabelProvider;
-	private ISelection fSelection;
-	private ArrayList<SearchResultViewEntry> fResults;
-	private IAction fGotoMarkerAction;
-	private IContextMenuContributor fContextMenuContributor;
-	private IActionGroupFactory fActionGroupFactory;
-	private IGroupByKeyComputer	fGroupByKeyComputer;
-	private IRunnableWithProgress fOperation;
-
-
-	public Search(String pageId, String singularLabel, String pluralLabelPattern, ILabelProvider labelProvider, ImageDescriptor imageDescriptor, IAction gotoMarkerAction, IActionGroupFactory groupFactory, IGroupByKeyComputer groupByKeyComputer, IRunnableWithProgress operation) {
-		fPageId= pageId;
-		fSingularLabel= singularLabel;
-		fPluralLabelPattern= pluralLabelPattern;
-		fImageDescriptor= imageDescriptor;
-		fLabelProvider= labelProvider;
-		fGotoMarkerAction= gotoMarkerAction;
-		fActionGroupFactory= groupFactory;
-		fGroupByKeyComputer= groupByKeyComputer;
-		fOperation= operation;
-
-		if (fPluralLabelPattern == null)
-			fPluralLabelPattern= ""; //$NON-NLS-1$
-	}
-
-	public Search(String pageId, String singularLabel, String pluralLabelPattern, ILabelProvider labelProvider, ImageDescriptor imageDescriptor, IAction gotoMarkerAction, IContextMenuContributor contextMenuContributor, IGroupByKeyComputer groupByKeyComputer, IRunnableWithProgress operation) {
-		fPageId= pageId;
-		fSingularLabel= singularLabel;
-		fPluralLabelPattern= pluralLabelPattern;
-		fImageDescriptor= imageDescriptor;
-		fLabelProvider= labelProvider;
-		fGotoMarkerAction= gotoMarkerAction;
-		fContextMenuContributor= contextMenuContributor;
-		fGroupByKeyComputer= groupByKeyComputer;
-		fOperation= operation;
-
-		if (fPluralLabelPattern == null)
-			fPluralLabelPattern= ""; //$NON-NLS-1$
-	}
-
-	/**
-	 * Returns the full description of the search.
-	 * The description set by the client where
-	 * {0} will be replaced by the match count.
-	 * @return the full description
-	 */
-	String getFullDescription() {
-		if (fSingularLabel != null && getItemCount() == 1)
-			return fSingularLabel;
-
-		// try to replace "{0}" with the match count
-		int i= fPluralLabelPattern.lastIndexOf("{0}"); //$NON-NLS-1$
-		if (i < 0)
-			return fPluralLabelPattern;
-		return fPluralLabelPattern.substring(0, i) + getItemCount()+ fPluralLabelPattern.substring(Math.min(i + 3, fPluralLabelPattern.length()));
-	}
-
-	/**
-	 * Returns a short description of the search.
-	 * Cuts off after 30 characters and adds ...
-	 * The description set by the client where
-	 * {0} will be replaced by the match count.
-	 * @return the short description
-	 */
-	String getShortDescription() {
-		String text= getFullDescription();
-		int separatorPos= text.indexOf(" - "); //$NON-NLS-1$
-		if (separatorPos < 1)
-			return text.substring(0, Math.min(50, text.length())) + "..."; // use first 50 characters //$NON-NLS-1$
-		if (separatorPos < 30)
-			return text;	// don't cut
-		if (text.charAt(0) == '"')
-			return text.substring(0, Math.min(30, text.length())) + "...\" - " + text.substring(Math.min(separatorPos + 3, text.length())); //$NON-NLS-1$
-		return text.substring(0, Math.min(30, text.length())) + "... - " + text.substring(Math.min(separatorPos + 3, text.length())); //$NON-NLS-1$
-	}
-	/**
-	 * Image used when search is displayed in a list
-	 * @return the image descriptor
-	 */
-	ImageDescriptor getImageDescriptor() {
-		return fImageDescriptor;
-	}
-
-	int getItemCount() {
-		int count= 0;
-		Iterator<SearchResultViewEntry> iter= getResults().iterator();
-		while (iter.hasNext())
-			count += ((ISearchResultViewEntry)iter.next()).getMatchCount();
-		return count;
-	}
-
-	List<SearchResultViewEntry> getResults() {
-		if (fResults == null)
-			return new ArrayList<>();
-		return fResults;
-	}
-
-	ILabelProvider getLabelProvider() {
-		return fLabelProvider;
-	}
-
-	void searchAgain() {
-		if (fOperation == null)
-			return;
-		Shell shell= SearchPlugin.getActiveWorkbenchShell();
-		boolean isAutoBuilding= SearchPlugin.setAutoBuilding(false);
-		try {
-			new ProgressMonitorDialog(shell).run(true, true, fOperation);
-		} catch (InvocationTargetException ex) {
-			ExceptionHandler.handle(ex, shell, SearchMessages.Search_Error_search_title, SearchMessages.Search_Error_search_message);
-		} catch(InterruptedException e) {
-		} finally {
-			SearchPlugin.setAutoBuilding(isAutoBuilding);
-		}
-	}
-
-	boolean isSameSearch(Search search) {
-		return search != null && search.getOperation() == fOperation && fOperation != null;
-	}
-
-	void backupMarkers() {
-		Iterator<SearchResultViewEntry> iter= getResults().iterator();
-		while (iter.hasNext()) {
-			iter.next().backupMarkers();
-		}
-	}
-
-	String getPageId() {
-		return fPageId;
-	}
-
-	IGroupByKeyComputer getGroupByKeyComputer() {
-		return fGroupByKeyComputer;
-	}
-
-	public IRunnableWithProgress getOperation() {
-		return fOperation;
-	}
-
-	IAction getGotoMarkerAction() {
-		return fGotoMarkerAction;
-	}
-
-	IContextMenuContributor getContextMenuContributor() {
-		return fContextMenuContributor;
-	}
-
-	IActionGroupFactory getActionGroupFactory() {
-		return fActionGroupFactory;
-	}
-
-	public void removeResults() {
-		fResults= null;
-	}
-
-	void setResults(ArrayList<SearchResultViewEntry> results) {
-		Assert.isNotNull(results);
-		fResults= results;
-	}
-
-	ISelection getSelection() {
-		return fSelection;
-	}
-
-	void setSelection(ISelection selection) {
-		fSelection= selection;
-	}
-}
-
diff --git a/org.eclipse.search/search/org/eclipse/search/internal/ui/SearchAgainAction.java b/org.eclipse.search/search/org/eclipse/search/internal/ui/SearchAgainAction.java
deleted file mode 100644
index 5264218..0000000
--- a/org.eclipse.search/search/org/eclipse/search/internal/ui/SearchAgainAction.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.search.internal.ui;
-
-import org.eclipse.jface.action.Action;
-
-/**
- * @deprecated old search
- */
-@Deprecated
-class SearchAgainAction extends Action {
-
-	public SearchAgainAction() {
-		super(SearchMessages.SearchResultView_searchAgain_text);
-		setToolTipText(SearchMessages.SearchResultView_searchAgain_tooltip);
-	}
-
-	@Override
-	public void run() {
-		Search selected= SearchManager.getDefault().getCurrentSearch();
-		if (selected != null)
-			selected.searchAgain();
-	}
-}
diff --git a/org.eclipse.search/search/org/eclipse/search/internal/ui/SearchDropDownAction.java b/org.eclipse.search/search/org/eclipse/search/internal/ui/SearchDropDownAction.java
deleted file mode 100644
index 6401687..0000000
--- a/org.eclipse.search/search/org/eclipse/search/internal/ui/SearchDropDownAction.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.search.internal.ui;
-
-import java.util.Iterator;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.MenuItem;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.action.IMenuCreator;
-
-/**
- * @deprecated old search
- */
-@Deprecated
-class SearchDropDownAction extends Action implements IMenuCreator {
-
-
-	public static final int RESULTS_IN_DROP_DOWN= 10;
-
-	private Menu fMenu;
-
-	public SearchDropDownAction() {
-		setText(SearchMessages.SearchResultView_previousSearches_text);
-		setToolTipText(SearchMessages.SearchResultView_previousSearches_tooltip);
-		SearchPluginImages.setImageDescriptors(this, SearchPluginImages.T_LCL, SearchPluginImages.IMG_LCL_SEARCH_HISTORY);
-		setMenuCreator(this);
-	}
-
-	@Override
-	public void dispose() {
-		if (fMenu != null)  {
-			fMenu.dispose();
-			fMenu= null;
-		}
-	}
-
-	@Override
-	public Menu getMenu(Menu parent) {
-		return null;
-	}
-
-	@Override
-	public Menu getMenu(Control parent) {
-		if (fMenu != null)
-			fMenu.dispose();
-
-		fMenu= new Menu(parent);
-		boolean checkedOne= false;
-		Iterator<Search> iter= SearchManager.getDefault().getPreviousSearches().iterator();
-		Search selected= SearchManager.getDefault().getCurrentSearch();
-		int i= 0;
-		while (iter.hasNext() && i++ < RESULTS_IN_DROP_DOWN) {
-			Search search= iter.next();
-			ShowSearchAction action= new ShowSearchAction(search);
-			action.setChecked(search.equals(selected));
-			if (search.equals(selected))
-				checkedOne= true;
-			addActionToMenu(fMenu, action);
-		}
-		new MenuItem(fMenu, SWT.SEPARATOR);
-		if (iter.hasNext()) {
-			Action others= new ShowSearchesAction();
-			others.setChecked(!checkedOne);
-			addActionToMenu(fMenu, others);
-		}
-		addActionToMenu(fMenu, new RemoveAllSearchesAction());
-		return fMenu;
-	}
-
-	protected void addActionToMenu(Menu parent, Action action) {
-		ActionContributionItem item= new ActionContributionItem(action);
-		item.fill(parent, -1);
-	}
-
-	@Override
-	public void run() {
-			new ShowSearchesAction().run(true);
-	}
-
-	/**
-	 * Get's rid of the menu, because the menu hangs on to
-	 * the searches, etc.
-	 */
-	void clear() {
-		dispose();
-	}
-}
diff --git a/org.eclipse.search/search/org/eclipse/search/internal/ui/SearchManager.java b/org.eclipse.search/search/org/eclipse/search/internal/ui/SearchManager.java
deleted file mode 100644
index e5744ce..0000000
--- a/org.eclipse.search/search/org/eclipse/search/internal/ui/SearchManager.java
+++ /dev/null
@@ -1,501 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2015 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.search.internal.ui;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.Map;
-
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Shell;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IMarkerDelta;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.resources.IResourceChangeEvent;
-import org.eclipse.core.resources.IResourceChangeListener;
-import org.eclipse.core.resources.IResourceDelta;
-
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.dialogs.ProgressMonitorDialog;
-import org.eclipse.jface.viewers.Viewer;
-
-import org.eclipse.ui.actions.WorkspaceModifyOperation;
-
-import org.eclipse.search.internal.ui.util.ExceptionHandler;
-import org.eclipse.search.ui.IGroupByKeyComputer;
-import org.eclipse.search.ui.SearchUI;
-
-
-/**
- * Manage search results
- * 	@deprecated old search
- */
-@Deprecated
-public class SearchManager implements IResourceChangeListener {
-
-	static SearchManager fgDefault;
-
-	Search fCurrentSearch= null;
-
-	private SearchManager() {
-		SearchPlugin.getWorkspace().addResourceChangeListener(this);
-	}
-
-	private HashSet<SearchResultViewer> fListeners= new HashSet<>();
-	private LinkedList<Search> fPreviousSearches= new LinkedList<>();
-	private boolean fIsRemoveAll= false;
-
-	public static synchronized SearchManager getDefault() {
-		if (fgDefault == null)
-			fgDefault= new SearchManager();
-		return fgDefault;
-	}
-
-	public void dispose() {
-		SearchPlugin.getWorkspace().removeResourceChangeListener(this);
-	}
-
-	/**
-	 * Returns the list with previous searches (ISearch).
-	 * @return previous searches
-	 */
-	LinkedList<Search> getPreviousSearches() {
-		return fPreviousSearches;
-	}
-	/**
-	 * Returns the list with current (last) results
-	 * @return the current results
-	 */
-	ArrayList<SearchResultViewEntry> getCurrentResults() {
-		if (fCurrentSearch == null)
-			return new ArrayList<>(0);
-		return (ArrayList<SearchResultViewEntry>)fCurrentSearch.getResults();
-	}
-
-	public Search getCurrentSearch() {
-		return fCurrentSearch;
-	}
-
-	void removeAllSearches() {
-		SearchPlugin.getWorkspace().removeResourceChangeListener(this);
-		WorkspaceModifyOperation op= new WorkspaceModifyOperation(null) {
-			@Override
-			protected void execute(IProgressMonitor monitor) throws CoreException {
-				monitor.beginTask(SearchMessages.SearchManager_updating, 100);
-				SearchPlugin.getWorkspace().getRoot().deleteMarkers(SearchUI.SEARCH_MARKER, true, IResource.DEPTH_INFINITE);
-				monitor.worked(100);
-				monitor.done();
-			}
-		};
-		boolean isAutoBuilding= SearchPlugin.setAutoBuilding(false);
-		try {
-			ProgressMonitorDialog dialog= new ProgressMonitorDialog(getShell());
-			dialog.run(true, true, op);
-		} catch (InvocationTargetException ex) {
-			ExceptionHandler.handle(ex, SearchMessages.Search_Error_deleteMarkers_title, SearchMessages.Search_Error_deleteMarkers_message);
-		} catch (InterruptedException e) {
-			// Do nothing. Operation has been canceled.
-		} finally {
-			SearchPlugin.getWorkspace().addResourceChangeListener(this);
-			SearchPlugin.setAutoBuilding(isAutoBuilding);
-		}
-
-		// clear searches
-		fPreviousSearches= new LinkedList<>();
-		fCurrentSearch= null;
-
-		// update viewers
-		Iterator<SearchResultViewer> iter= fListeners.iterator();
-		while (iter.hasNext()) {
-			SearchResultViewer viewer= iter.next();
-			handleAllSearchesRemoved(viewer);
-		}
-	}
-
-	private void handleAllSearchesRemoved(SearchResultViewer viewer) {
-		viewer.handleAllSearchesRemoved();
-	}
-
-	void setCurrentSearch(final Search search) {
-		if (fCurrentSearch == search)
-			return;
-
-		SearchPlugin.getWorkspace().removeResourceChangeListener(this);
-		WorkspaceModifyOperation op= new WorkspaceModifyOperation(null) {
-			@Override
-			protected void execute(IProgressMonitor monitor) throws CoreException {
-				internalSetCurrentSearch(search, monitor);
-			}
-		};
-		boolean isAutoBuilding= SearchPlugin.setAutoBuilding(false);
-		try {
-			ProgressMonitorDialog dialog= new ProgressMonitorDialog(getShell());
-			dialog.run(true, true, op);
-		} catch (InvocationTargetException ex) {
-			ExceptionHandler.handle(ex, SearchMessages.Search_Error_switchSearch_title, SearchMessages.Search_Error_switchSearch_message);
-		} catch (InterruptedException e) {
-			// Do nothing. Operation has been canceled.
-		} finally {
-			SearchPlugin.setAutoBuilding(isAutoBuilding);
-		}
-
-		getPreviousSearches().remove(search);
-		getPreviousSearches().addFirst(search);
-	}
-
-	void internalSetCurrentSearch(final Search search, IProgressMonitor monitor) {
-		if (fCurrentSearch != null)
-			fCurrentSearch.backupMarkers();
-
-		final Search previousSearch= fCurrentSearch;
-		fCurrentSearch= search;
-		monitor.beginTask(SearchMessages.SearchManager_updating, getCurrentResults().size() + 20);
-
-		// remove current search markers
-		try {
-			SearchPlugin.getWorkspace().getRoot().deleteMarkers(SearchUI.SEARCH_MARKER, true, IResource.DEPTH_INFINITE);
-		} catch (CoreException ex) {
-			ExceptionHandler.handle(ex, SearchMessages.Search_Error_deleteMarkers_title, SearchMessages.Search_Error_deleteMarkers_message);
-		}
-		monitor.worked(10);
-
-		// add search markers
-		Iterator<SearchResultViewEntry> iter= getCurrentResults().iterator();
-		ArrayList<SearchResultViewEntry> emptyEntries= new ArrayList<>(10);
-		boolean filesChanged= false;
-		boolean filesDeleted= false;
-		IGroupByKeyComputer groupByKeyComputer= getCurrentSearch().getGroupByKeyComputer();
-		while (iter.hasNext()) {
-			monitor.worked(1);
-			SearchResultViewEntry entry= iter.next();
-			Iterator<Map<String, Object>> attrPerMarkerIter= entry.getAttributesPerMarker().iterator();
-			entry.clearMarkerList();
-			if (entry.getResource() == null || !entry.getResource().exists()) {
-				emptyEntries.add(entry);
-				filesDeleted= true;
-				continue;
-			}
-			while (attrPerMarkerIter.hasNext()) {
-				IMarker newMarker= null;
-				try {
-					newMarker= entry.getResource().createMarker(entry.getMarkerType());
-				} catch (CoreException ex) {
-					ExceptionHandler.handle(ex, SearchMessages.Search_Error_createMarker_title, SearchMessages.Search_Error_createMarker_message);
-					continue;
-				}
-				try {
-					newMarker.setAttributes(attrPerMarkerIter.next());
-					if (groupByKeyComputer !=null && groupByKeyComputer.computeGroupByKey(newMarker) == null) {
-						filesDeleted= true;
-						newMarker.delete();
-						continue;
-					}
-				} catch (CoreException ex) {
-					ExceptionHandler.handle(ex, SearchMessages.Search_Error_markerAttributeAccess_title, SearchMessages.Search_Error_markerAttributeAccess_message);
-				}
-				entry.add(newMarker);
-			}
-			if (entry.getMatchCount() == 0)
-				emptyEntries.add(entry);
-			else if (!filesChanged && entry.getResource().getModificationStamp() != entry.getModificationStamp())
-				filesChanged= true;
-		}
-		getCurrentResults().removeAll(emptyEntries);
-		monitor.worked(10);
-
-		String warningMessage= null;
-		Display display= getDisplay();
-
-		if (filesChanged)
-			warningMessage= SearchMessages.SearchManager_resourceChanged;
-		if (filesDeleted) {
-			if (warningMessage == null)
-				warningMessage= ""; //$NON-NLS-1$
-			else
-				warningMessage += "\n";			 //$NON-NLS-1$
-			warningMessage += SearchMessages.SearchManager_resourceDeleted;
-		}
-		if (warningMessage != null) {
-			if (display != null && !display.isDisposed()) {
-				final String warningTitle= SearchMessages.SearchManager_resourceChangedWarning;
-				final String warningMsg= warningMessage;
-				display.syncExec(() -> MessageDialog.openWarning(getShell(), warningTitle, warningMsg));
-			}
-		}
-
-		// update viewers
-		Iterator<SearchResultViewer> iter2= fListeners.iterator();
-		if (display != null && !display.isDisposed()) {
-			final Viewer visibleViewer= ((SearchResultView)SearchUI.getSearchResultView()).getViewer();
-			while (iter2.hasNext()) {
-				final SearchResultViewer viewer= iter2.next();
-				display.syncExec(() -> {
-					if (previousSearch != null && viewer == visibleViewer)
-						previousSearch.setSelection(viewer.getSelection());
-					viewer.setInput(null);
-					viewer.setPageId(search.getPageId());
-					viewer.setGotoMarkerAction(search.getGotoMarkerAction());
-					viewer.setContextMenuTarget(search.getContextMenuContributor());
-					viewer.setActionGroupFactory(null);
-					viewer.setInput(getCurrentResults());
-					viewer.setActionGroupFactory(search.getActionGroupFactory());
-					viewer.setSelection(fCurrentSearch.getSelection(), true);
-				});
-			}
-		}
-		monitor.done();
-	}
-
-	/**
-	 * Returns the number of matches
-	 * @return the number of matches
-	 */
-	int getCurrentItemCount() {
-		if (fCurrentSearch != null)
-			return fCurrentSearch.getItemCount();
-		return 0;
-	}
-
-	void removeAllResults() {
-		fIsRemoveAll= true;
-		try {
-			SearchPlugin.getWorkspace().getRoot().deleteMarkers(SearchUI.SEARCH_MARKER, true, IResource.DEPTH_INFINITE);
-		} catch (CoreException ex) {
-			ExceptionHandler.handle(ex, SearchMessages.Search_Error_deleteMarkers_title, SearchMessages.Search_Error_deleteMarkers_message);
-			fIsRemoveAll= false;
-		}
-	}
-
-	void addNewSearch(final Search newSearch) {
-
-		SearchPlugin.getWorkspace().removeResourceChangeListener(this);
-
-		// Clear the viewers
-		Iterator<SearchResultViewer> iter= fListeners.iterator();
-		Display display= getDisplay();
-		if (display != null && !display.isDisposed()) {
-			final Viewer visibleViewer= ((SearchResultView)SearchUI.getSearchResultView()).getViewer();
-			while (iter.hasNext()) {
-				final SearchResultViewer viewer= iter.next();
-				display.syncExec(() -> {
-					if (fCurrentSearch != null && viewer == visibleViewer)
-						fCurrentSearch.setSelection(viewer.getSelection());
-					setNewSearch(viewer, newSearch);
-				});
-			}
-		}
-
-		if (fCurrentSearch != null) {
-			if (fCurrentSearch.isSameSearch(newSearch))
-				getPreviousSearches().remove(fCurrentSearch);
-			else
-				fCurrentSearch.backupMarkers();
-		}
-		fCurrentSearch= newSearch;
-		getPreviousSearches().addFirst(fCurrentSearch);
-
-		// Remove the markers
-		try {
-			SearchPlugin.getWorkspace().getRoot().deleteMarkers(SearchUI.SEARCH_MARKER, true, IResource.DEPTH_INFINITE);
-		} catch (CoreException ex) {
-			ExceptionHandler.handle(ex, SearchMessages.Search_Error_deleteMarkers_title, SearchMessages.Search_Error_deleteMarkers_message);
-		}
-	}
-
-	void searchFinished(ArrayList<SearchResultViewEntry> results) {
-		Assert.isNotNull(results);
-		getCurrentSearch().setResults(results);
-
-		Display display= getDisplay();
-		if (display == null || display.isDisposed())
-			return;
-
-		if (Thread.currentThread() == display.getThread())
-			handleNewSearchResult();
-		else {
-			display.syncExec(this::handleNewSearchResult);
-		}
-		SearchPlugin.getWorkspace().addResourceChangeListener(this);
-	}
-
-	//--- Change event handling -------------------------------------------------
-
-	void addSearchChangeListener(SearchResultViewer viewer) {
-		fListeners.add(viewer);
-	}
-
-	void removeSearchChangeListener(SearchResultViewer viewer) {
-		Assert.isNotNull(viewer);
-		fListeners.remove(viewer);
-	}
-
-	private final void handleSearchMarkersChanged(IMarkerDelta[] markerDeltas) {
-		if (fIsRemoveAll) {
-			handleRemoveAll();
-			fIsRemoveAll= false;
-			return;
-		}
-
-		Iterator<SearchResultViewer> iter= fListeners.iterator();
-		while (iter.hasNext())
-			iter.next().getControl().setRedraw(false);
-
-		for (IMarkerDelta markerDelta : markerDeltas) {
-			handleSearchMarkerChanged(markerDelta);
-		}
-
-		iter= fListeners.iterator();
-		while (iter.hasNext())
-			iter.next().getControl().setRedraw(true);
-
-	}
-
-	private void handleSearchMarkerChanged(IMarkerDelta markerDelta) {
-		int kind= markerDelta.getKind();
-		// don't listen for adds will be done by ISearchResultView.addMatch(...)
-		if (((kind & IResourceDelta.REMOVED) != 0))
-			handleRemoveMatch(markerDelta.getMarker());
-		else if ((kind & IResourceDelta.CHANGED) != 0)
-			handleUpdateMatch(markerDelta.getMarker());
-	}
-
-	private void handleRemoveAll() {
-		if (fCurrentSearch != null)
-			fCurrentSearch.removeResults();
-		Iterator<SearchResultViewer> iter= fListeners.iterator();
-		while (iter.hasNext())
-			iter.next().handleRemoveAll();
-	}
-
-	private void handleNewSearchResult() {
-		Iterator<SearchResultViewer> iter= fListeners.iterator();
-		while (iter.hasNext()) {
-			SearchResultViewer viewer= iter.next();
-			viewer.setInput(getCurrentResults());
-		}
-	}
-
-	private void setNewSearch(SearchResultViewer viewer, Search search) {
-		viewer.setInput(null);
-		viewer.clearTitle();
-		viewer.setPageId(search.getPageId());
-		viewer.setGotoMarkerAction(search.getGotoMarkerAction());
-		viewer.setContextMenuTarget(search.getContextMenuContributor());
-		viewer.setActionGroupFactory(search.getActionGroupFactory());
-	}
-
-	private void handleRemoveMatch(IMarker marker) {
-		SearchResultViewEntry entry= findEntry(marker);
-		if (entry != null) {
-			entry.remove(marker);
-			if (entry.getMatchCount() == 0) {
-				getCurrentResults().remove(entry);
-				Iterator<SearchResultViewer> iter= fListeners.iterator();
-				while (iter.hasNext())
-					iter.next().handleRemoveMatch(entry);
-			}
-			else {
-				Iterator<SearchResultViewer> iter= fListeners.iterator();
-				while (iter.hasNext())
-					iter.next().handleUpdateMatch(entry, true);
-			}
-		}
-	}
-
-	private void handleUpdateMatch(IMarker marker) {
-		SearchResultViewEntry entry= findEntry(marker);
-		if (entry != null) {
-			Iterator<SearchResultViewer> iter= fListeners.iterator();
-			while (iter.hasNext())
-				iter.next().handleUpdateMatch(entry, false);
-		}
-	}
-
-	private SearchResultViewEntry findEntry(IMarker marker) {
-		Iterator<SearchResultViewEntry> entries= getCurrentResults().iterator();
-		while (entries.hasNext()) {
-			SearchResultViewEntry entry= entries.next();
-			if (entry.contains(marker))
-				return entry;
-		}
-		return null;
-	}
-
-	/**
-	 * Received a resource event. Since the delta could be created in a
-	 * separate thread this methods post the event into the viewer's
-	 * display thread.
-	 * @param event the event
-	 */
-	@Override
-	public final void resourceChanged(final IResourceChangeEvent event) {
-		if (event == null)
-			return;
-
-		final IMarkerDelta[] markerDeltas= event.findMarkerDeltas(SearchUI.SEARCH_MARKER, true);
-		if (markerDeltas == null || markerDeltas.length < 1)
-			return;
-
-		Display display= getDisplay();
-		if (display == null || display.isDisposed())
-			return;
-
-		Runnable runnable= () -> {
-			if (getCurrentSearch() != null) {
-				handleSearchMarkersChanged(markerDeltas);
-				// update title and actions
-				Iterator<SearchResultViewer> iter= fListeners.iterator();
-				while (iter.hasNext()) {
-					SearchResultViewer viewer= iter.next();
-					viewer.enableActions();
-					viewer.updateTitle();
-				}
-			}
-		};
-		display.syncExec(runnable);
-	}
-	/**
-	 * Find and return a valid display
-	 * @return the display
-	 */
-	private Display getDisplay() {
-		Iterator<SearchResultViewer> iter= fListeners.iterator();
-		while (iter.hasNext()) {
-			Control control= ((Viewer)iter.next()).getControl();
-			if (control != null && !control.isDisposed()) {
-				Display display= control.getDisplay();
-				if (display != null && !display.isDisposed())
-					return display;
-			}
-		}
-		return null;
-	}
-	/**
-	 * Find and return a valid shell
-	 * @return the shell
-	 */
-	private Shell getShell() {
-		return SearchPlugin.getActiveWorkbenchShell();
-	}
-}
-
diff --git a/org.eclipse.search/search/org/eclipse/search/internal/ui/SearchPlugin.java b/org.eclipse.search/search/org/eclipse/search/internal/ui/SearchPlugin.java
index 022ad03..5d28ef4 100644
--- a/org.eclipse.search/search/org/eclipse/search/internal/ui/SearchPlugin.java
+++ b/org.eclipse.search/search/org/eclipse/search/internal/ui/SearchPlugin.java
@@ -208,21 +208,11 @@
 	@Override
 	public void stop(BundleContext context) throws Exception {
 		InternalSearchUI.shutdown();
-		disposeOldSearchManager();
 		super.stop(context);
 		fgSearchPlugin= null;
 	}
 
 	/**
-	 * @deprecated old search
-	 */
-	@Deprecated
-	private void disposeOldSearchManager() {
-		if (SearchManager.fgDefault != null)
-			SearchManager.fgDefault.dispose();
-	}
-
-	/**
 	 * @return Returns all search pages contributed to the workbench.
 	 */
 	public List<SearchPageDescriptor> getSearchPageDescriptors() {
@@ -249,32 +239,6 @@
 	}
 
 	/**
-	 * @return Returns the help context ID for the Search view
-	 * as provided by the current search page extension.
-	 *
-	 * @since 3.0
-	 * @deprecated old search
-	 */
-	@Deprecated
-	public String getSearchViewHelpContextId() {
-		Search currentSearch= SearchManager.getDefault().getCurrentSearch();
-		if (currentSearch != null) {
-			String pageId= currentSearch.getPageId();
-			Iterator<SearchPageDescriptor> iter= getSearchPageDescriptors().iterator();
-			while (iter.hasNext()) {
-				SearchPageDescriptor desc= iter.next();
-				if (desc.getId().equals(pageId)) {
-					String helpId= desc.getSearchViewHelpContextId();
-					if (helpId == null)
-						return ISearchHelpContextIds.SEARCH_VIEW;
-					return desc.getSearchViewHelpContextId();
-				}
-			}
-		}
-		return ISearchHelpContextIds.SEARCH_VIEW;
-	}
-
-	/**
 	 * Creates all necessary search page nodes.
 	 * @param elements the configuration elements
 	 * @return the created SearchPageDescriptor
diff --git a/org.eclipse.search/search/org/eclipse/search/internal/ui/SearchResultLabelProvider.java b/org.eclipse.search/search/org/eclipse/search/internal/ui/SearchResultLabelProvider.java
deleted file mode 100644
index 6ac45c4..0000000
--- a/org.eclipse.search/search/org/eclipse/search/internal/ui/SearchResultLabelProvider.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.search.internal.ui;
-
-import org.eclipse.swt.graphics.Image;
-
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.LabelProvider;
-
-import org.eclipse.ui.PlatformUI;
-
-import org.eclipse.search.ui.ISearchResultViewEntry;
-
-/**
- * @deprecated old search
- */
-@Deprecated
-class SearchResultLabelProvider extends LabelProvider {
-
-	private static final String MATCHES_POSTFIX= " " + SearchMessages.SearchResultView_matches + ")";  //$NON-NLS-1$ //$NON-NLS-2$
-
-	private ILabelProvider fLabelProvider;
-
-
-	SearchResultLabelProvider(ILabelProvider provider) {
-		fLabelProvider= provider;
-	}
-
-	@Override
-	public String getText(Object element) {
-		StringBuilder buf= new StringBuilder(getLabelProvider().getText(element));
-		int count= ((ISearchResultViewEntry)element).getMatchCount();
-		if (count > 1) {
-			buf.append(" ("); //$NON-NLS-1$
-			buf.append(count);
-			buf.append(MATCHES_POSTFIX);
-		}
-		return buf.toString();
-	}
-
-	@Override
-	public Image getImage(Object element) {
-		return fLabelProvider.getImage(element);
-	}
-
-	// Don't dispose since label providers are reused.
-	@Override
-	public void dispose() {
-	}
-
-	ILabelProvider getLabelProvider() {
-		return fLabelProvider;
-	}
-
-	@Override
-	public void addListener(ILabelProviderListener listener) {
-		super.addListener(listener);
-		fLabelProvider.addListener(listener);
-		PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator().addListener(listener);
-	}
-
-	@Override
-	public boolean isLabelProperty(Object element, String property) {
-		return fLabelProvider.isLabelProperty(element, property);
-	}
-
-	@Override
-	public void removeListener(ILabelProviderListener listener) {
-		super.removeListener(listener);
-		fLabelProvider.removeListener(listener);
-		PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator().removeListener(listener);
-	}
-}
diff --git a/org.eclipse.search/search/org/eclipse/search/internal/ui/SearchResultView.java b/org.eclipse.search/search/org/eclipse/search/internal/ui/SearchResultView.java
deleted file mode 100644
index 0628784..0000000
--- a/org.eclipse.search/search/org/eclipse/search/internal/ui/SearchResultView.java
+++ /dev/null
@@ -1,341 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2015 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Michael Fraenkel (fraenkel@us.ibm.com) - contributed a fix for:
- *       o New search view sets incorrect title
- *         (see https://bugs.eclipse.org/bugs/show_bug.cgi?id=60966)
- *******************************************************************************/
-package org.eclipse.search.internal.ui;
-
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-
-import org.eclipse.core.runtime.Assert;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.operation.IRunnableWithProgress;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.util.IPropertyChangeListener;
-import org.eclipse.jface.viewers.IBaseLabelProvider;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ISelection;
-
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.IViewSite;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.part.CellEditorActionHandler;
-import org.eclipse.ui.part.ViewPart;
-
-import org.eclipse.search.ui.IActionGroupFactory;
-import org.eclipse.search.ui.IContextMenuContributor;
-import org.eclipse.search.ui.IGroupByKeyComputer;
-import org.eclipse.search.ui.ISearchResultView;
-
-/**
- * @deprecated old search
- */
-@Deprecated
-public class SearchResultView extends ViewPart implements ISearchResultView {
-
-
-	private static Map<String, ILabelProvider> fgLabelProviders= new HashMap<>(5);
-
-	private SearchResultViewer fViewer;
-	private Map<Object, SearchResultViewEntry> fResponse;
-	private IMemento fMemento;
-	private IPropertyChangeListener fPropertyChangeListener;
-	private CellEditorActionHandler fCellEditorActionHandler;
-	private SelectAllAction fSelectAllAction;
-
-	/*
-	 * Implements method from IViewPart.
-	 */
-	@Override
-	public void init(IViewSite site, IMemento memento) throws PartInitException {
-		super.init(site, memento);
-		fMemento= memento;
-	}
-
-	/*
-	 * Implements method from IViewPart.
-	 */
-	@Override
-	public void saveState(IMemento memento) {
-		if (fViewer == null) {
-			// part has not been created
-			if (fMemento != null) //Keep the old state;
-				memento.putMemento(fMemento);
-			return;
-		}
-		fViewer.saveState(memento);
-	}
-
-	/**
-	 * Creates the search list inner viewer.
-	 * @param parent the parent
-	 */
-	@Override
-	public void createPartControl(Composite parent) {
-		Assert.isTrue(fViewer == null);
-		fViewer= new SearchResultViewer(this, parent);
-		if (fMemento != null)
-			fViewer.restoreState(fMemento);
-		fMemento= null;
-		SearchManager.getDefault().addSearchChangeListener(fViewer);
-		fViewer.init();
-
-		// Add selectAll action handlers.
-		fCellEditorActionHandler = new CellEditorActionHandler(getViewSite().getActionBars());
-		fSelectAllAction= new SelectAllAction();
-		fSelectAllAction.setViewer(fViewer);
-		fCellEditorActionHandler.setSelectAllAction(fSelectAllAction);
-
-		fillActionBars(getViewSite().getActionBars());
-
-		fPropertyChangeListener= event -> {
-			if (SearchPreferencePage.POTENTIAL_MATCH_FG_COLOR.equals(event.getProperty()) || SearchPreferencePage.EMPHASIZE_POTENTIAL_MATCHES.equals(event.getProperty()))
-				if (fViewer != null)
-					fViewer.updatedPotentialMatchFgColor();
-		};
-
-		SearchPlugin.getDefault().getPreferenceStore().addPropertyChangeListener(fPropertyChangeListener);
-
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(fViewer.getControl(), SearchPlugin.getDefault().getSearchViewHelpContextId());
-	}
-
-	/**
-	 * Returns the search result viewer.
-	 * @return the search result viewer.
-	 */
-	public SearchResultViewer getViewer() {
-		return fViewer;
-	}
-
-	//---- IWorkbenchPart ------------------------------------------------------
-
-
-	@Override
-	public void setFocus() {
-		fViewer.getControl().setFocus();
-	}
-
-	@Override
-	public void dispose() {
-		if (fViewer != null) {
-			SearchManager.getDefault().removeSearchChangeListener(fViewer);
-			fViewer= null;
-		}
-		if (fPropertyChangeListener != null)
-			SearchPlugin.getDefault().getPreferenceStore().removePropertyChangeListener(fPropertyChangeListener);
-		if (fCellEditorActionHandler != null) {
-			fCellEditorActionHandler.dispose();
-			fCellEditorActionHandler= null;
-		}
-		super.dispose();
-	}
-
-	@Override
-	protected void setContentDescription(String title) {
-		super.setContentDescription(title);
-	}
-
-	@Override
-	protected void setTitleToolTip(String text) {
-		super.setTitleToolTip(text);
-	}
-
-	//---- Adding Action to Toolbar -------------------------------------------
-
-	private void fillActionBars(IActionBars actionBars) {
-		IToolBarManager toolBar= actionBars.getToolBarManager();
-		fillToolBar(toolBar);
-		actionBars.updateActionBars();
-
-		// Add selectAll action handlers.
-		actionBars.setGlobalActionHandler(ActionFactory.SELECT_ALL.getId(), fSelectAllAction);
-	}
-
-	private void fillToolBar(IToolBarManager tbm) {
-		fViewer.fillToolBar(tbm);
-	}
-
-	ILabelProvider getLabelProvider(String pageId) {
-		if (pageId != null)
-			return fgLabelProviders.get(pageId);
-		return null;
-	}
-
-	@Override
-	public ILabelProvider getLabelProvider() {
-		if (fViewer == null)
-			return null;
-		IBaseLabelProvider labelProvider= fViewer.getLabelProvider();
-		if (labelProvider == null)
-			return null;
-
-		return ((SearchResultLabelProvider)labelProvider).getLabelProvider();
-	}
-
-	private void setGotoMarkerAction(final IAction gotoMarkerAction) {
-		// Make sure we are doing it in the right thread.
-		getDisplay().syncExec(() -> getViewer().setGotoMarkerAction(gotoMarkerAction));
-	}
-
-
-	Display getDisplay() {
-		return fViewer.getControl().getDisplay();
-	}
-
-
-	//---- ISearchResultView --------------------------------------------------
-
-
-	/*
-	 * Implements method from ISearchResultView
-	 */
-	@Override
-	public ISelection getSelection() {
-		return fViewer.getSelection();
-	}
-
-	/*
-	 * Implements method from ISearchResultView
-	 */
-	@Override
-	public void searchStarted(
-				IActionGroupFactory		groupFactory,
-				String					singularLabel,
-				String					pluralLabelPattern,
-				ImageDescriptor			imageDescriptor,
-				String					pageId,
-				ILabelProvider			labelProvider,
-				IAction					gotoAction,
-				IGroupByKeyComputer		groupByKeyComputer,
-				IRunnableWithProgress	operation) {
-
-
-		Assert.isNotNull(pageId);
-		Assert.isNotNull(pluralLabelPattern);
-		Assert.isNotNull(gotoAction);
-
-		fResponse= new HashMap<>(500);
-		setGotoMarkerAction(gotoAction);
-
-		ILabelProvider oldLabelProvider= fgLabelProviders.get(pageId);
-		if (oldLabelProvider != null)
-			oldLabelProvider.dispose();
-		fgLabelProviders.put(pageId, labelProvider);
-
-		SearchManager.getDefault().addNewSearch(
-			new Search(
-				pageId,
-				singularLabel,
-				pluralLabelPattern,
-				null,
-				imageDescriptor,
-				fViewer.getGotoMarkerAction(),
-				groupFactory,
-				groupByKeyComputer,
-				operation));
-	}
-
-	@Override
-	public void searchStarted(
-				String					pageId,
-				String					label,
-				ImageDescriptor			imageDescriptor,
-				IContextMenuContributor contributor,
-				ILabelProvider			labelProvider,
-				IAction					gotoAction,
-				IGroupByKeyComputer		groupByKeyComputer,
-				IRunnableWithProgress	operation) {
-
-		searchStarted(pageId, null, label, imageDescriptor, contributor, labelProvider, gotoAction, groupByKeyComputer, operation);
-	}
-
-	/*
-	 * Implements method from ISearchResultView
-	 * @deprecated	As of build > 20020514
-	 */
-	@Override
-	public void searchStarted(
-				String					pageId,
-				String					singularLabel,
-				String					pluralLabelPattern,
-				ImageDescriptor			imageDescriptor,
-				IContextMenuContributor contributor,
-				ILabelProvider			labelProvider,
-				IAction					gotoAction,
-				IGroupByKeyComputer		groupByKeyComputer,
-				IRunnableWithProgress	operation) {
-
-
-		Assert.isNotNull(pageId);
-		Assert.isNotNull(pluralLabelPattern);
-		Assert.isNotNull(gotoAction);
-
-		fResponse= new HashMap<>(500);
-		setGotoMarkerAction(gotoAction);
-
-		ILabelProvider oldLabelProvider= fgLabelProviders.get(pageId);
-		if (oldLabelProvider != null)
-			oldLabelProvider.dispose();
-		fgLabelProviders.put(pageId, labelProvider);
-
-		SearchManager.getDefault().addNewSearch(
-			new Search(
-				pageId,
-				singularLabel,
-				pluralLabelPattern,
-				null,
-				imageDescriptor,
-				fViewer.getGotoMarkerAction(),
-				contributor,
-				groupByKeyComputer,
-				operation));
-	}
-
-	/*
-	 * Implements method from ISearchResultView
-	 */
-	@Override
-	public void addMatch(String description, Object groupByKey, IResource resource, IMarker marker) {
-		SearchResultViewEntry entry= fResponse.get(groupByKey);
-		if (entry == null) {
-			entry= new SearchResultViewEntry(groupByKey, resource);
-			fResponse.put(groupByKey, entry);
-		}
-		entry.add(marker);
-	}
-
-
-	/*
-	 * Implements method from ISearchResultView
-	 */
-	@Override
-	public void searchFinished() {
-		SearchManager.getDefault().searchFinished(new ArrayList<>(fResponse.values()));
-		fResponse= null;
-	}
-}
diff --git a/org.eclipse.search/search/org/eclipse/search/internal/ui/SearchResultViewEntry.java b/org.eclipse.search/search/org/eclipse/search/internal/ui/SearchResultViewEntry.java
deleted file mode 100644
index 02fd436..0000000
--- a/org.eclipse.search/search/org/eclipse/search/internal/ui/SearchResultViewEntry.java
+++ /dev/null
@@ -1,211 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2015 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.search.internal.ui;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.PlatformObject;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-
-import org.eclipse.search.ui.ISearchResultViewEntry;
-import org.eclipse.search.ui.SearchUI;
-
-/**
- * Represents an entry in the search result view
- * @deprecated old search
- */
-@Deprecated
-public class SearchResultViewEntry extends PlatformObject implements ISearchResultViewEntry {
-
-	private Object fGroupByKey= null;
-	private IResource fResource= null;
-	private IMarker fMarker= null;
-	private ArrayList<IMarker> fMarkers= null;
-	private ArrayList<Map<String, Object>> fAttributes;
-	private int fSelectedMarkerIndex;
-	private long fModificationStamp= IResource.NULL_STAMP;
-	private String fMarkerType;
-
-	public SearchResultViewEntry(Object groupByKey, IResource resource) {
-		fGroupByKey= groupByKey;
-		fResource= resource;
-		if (fResource != null)
-			fModificationStamp= fResource.getModificationStamp();
-	}
-
-	//---- Accessors ------------------------------------------------
-	@Override
-	public Object getGroupByKey() {
-		return fGroupByKey;
-	}
-
-	void setGroupByKey(Object groupByKey) {
-		fGroupByKey= groupByKey;
-	}
-
-	@Override
-	public IResource getResource() {
-		return fResource;
-	}
-
-	@Override
-	public int getMatchCount() {
-		if (fMarkers != null)
-			return fMarkers.size();
-		if (fMarkers == null && fMarker != null)
-			return 1;
-		return 0;
-	}
-
-	boolean isPotentialMatch() {
-		if (fMarker != null)
-			return fMarker.getAttribute(SearchUI.POTENTIAL_MATCH, false);
-		return false;
-	}
-
-	List<Map<String, Object>> getAttributesPerMarker() {
-		if (fAttributes == null)
-			return new ArrayList<>(0);
-		return fAttributes;
-	}
-
-	public long getModificationStamp() {
-		return fModificationStamp;
-	}
-
-	void clearMarkerList() {
-		fMarker= null;
-		if (fMarkers != null)
-			fMarkers.clear();
-	}
-
-	void add(IMarker marker) {
-		if (marker != null && fMarkerType == null) {
-			try {
-				fMarkerType= marker.getType();
-			} catch (CoreException ex) {
-				// will default to org.eclipse.search.searchmarker
-			}
-		}
-
-		if (fMarker == null) {
-			fMarker= marker;
-			if (fMarkers != null)
-				fMarkers.add(marker);
-			return;
-		}
-		if (fMarkers == null) {
-			fMarkers= new ArrayList<>(10);
-			addByStartpos(fMarkers, fMarker);
-		}
-		addByStartpos(fMarkers, marker);
-	}
-
-	void setSelectedMarkerIndex(int index) {
-		fSelectedMarkerIndex= index;
-	}
-
-	@Override
-	public IMarker getSelectedMarker() {
-		fSelectedMarkerIndex= Math.min(fSelectedMarkerIndex, getMatchCount() - 1);
-		if (fMarkers == null && fMarker == null)
-			return null;
-		if (fMarkers != null && fSelectedMarkerIndex >= 0)
-			return fMarkers.get(fSelectedMarkerIndex);
-		return fMarker;
-	}
-
-	public List<IMarker> getMarkers() {
-		if (fMarkers == null && fMarker == null)
-			return new ArrayList<>(0);
-		else if (fMarkers == null && fMarker != null) {
-			List<IMarker> markers= new ArrayList<>(1);
-			markers.add(fMarker);
-			return markers;
-		}
-		return fMarkers;
-	}
-
-	String getMarkerType() {
-		if (fMarkerType == null)
-			return SearchUI.SEARCH_MARKER;
-		return fMarkerType;
-	}
-
-	boolean contains(IMarker marker) {
-		if (fMarkers == null && fMarker == null)
-			return false;
-		if (fMarkers == null)
-			return fMarker.equals(marker);
-		return fMarkers.contains(marker);
-	}
-
-	void remove(IMarker marker) {
-		if (marker == null)
-			return;
-
-		if (fMarkers == null) {
-			if (fMarker != null && fMarker.equals(marker))
-				fMarker= null;
-		}
-		else {
-			fMarkers.remove(marker);
-			if (fMarkers.size() == 1) {
-				fMarker= fMarkers.get(0);
-				fMarkers= null;
-			}
-		}
-	}
-
-	void backupMarkers() {
-		if (fResource != null)
-			fModificationStamp= fResource.getModificationStamp();
-		List<IMarker> markers= getMarkers();
-		fAttributes= new ArrayList<>(markers.size());
-		Iterator<IMarker> iter= markers.iterator();
-		while (iter.hasNext()) {
-			IMarker marker= iter.next();
-			Map<String, Object> attributes= null;
-			try {
-				attributes= marker.getAttributes();
-			} catch (CoreException ex) {
-				// don't backup corrupt marker
-				continue;
-			}
-			fAttributes.add(attributes);
-		}
-	}
-
-	private void addByStartpos(ArrayList<IMarker> markers, IMarker marker) {
-		int startPos= marker.getAttribute(IMarker.CHAR_START, -1);
-		int i= 0;
-		int markerCount= markers.size();
-		while (i < markerCount && startPos >= markers.get(i).getAttribute(IMarker.CHAR_START, -1))
-			i++;
-		markers.add(i, marker);
-		if (i == 0)
-			fMarker= marker;
-	}
-
-	@Override
-	public <T> T getAdapter(Class<T> adapter) {
-		return super.getAdapter(adapter);
-	}
-}
diff --git a/org.eclipse.search/search/org/eclipse/search/internal/ui/SearchResultViewEntryAdapterFactory.java b/org.eclipse.search/search/org/eclipse/search/internal/ui/SearchResultViewEntryAdapterFactory.java
deleted file mode 100644
index f82258e..0000000
--- a/org.eclipse.search/search/org/eclipse/search/internal/ui/SearchResultViewEntryAdapterFactory.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2015 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.search.internal.ui;
-
-
-import org.eclipse.core.runtime.IAdapterFactory;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-
-import org.eclipse.search.ui.ISearchResultViewEntry;
-
-/**
- * Implements basic UI support for Java elements.
- * Implements handle to persistent support for Java elements.
- * @deprecated old search
- */
-@Deprecated
-public class SearchResultViewEntryAdapterFactory implements IAdapterFactory {
-
-	private static Class<?>[] PROPERTIES= new Class[] {
-		IResource.class, IMarker.class,
-	};
-
-
-	@Override
-	public Class<?>[] getAdapterList() {
-		return PROPERTIES;
-	}
-
-	@SuppressWarnings("unchecked")
-	@Override
-	public <T> T getAdapter(Object element, Class<T> key) {
-
-		ISearchResultViewEntry entry= (ISearchResultViewEntry) element;
-
-		if (IMarker.class.equals(key)) {
-			return (T) entry.getSelectedMarker();
-		}
-		if (IResource.class.equals(key)) {
-			IResource resource= entry.getResource();
-			/*
-			 * This is a trick to filter out dummy markers that
-			 * have been attached to a project because there is no
-			 * corresponding resource in the workspace.
-			 */
-			int type= resource.getType();
-			if (type != IResource.PROJECT && type != IResource.ROOT)
-				return (T) resource;
-		}
-		return null;
-	}
-}
diff --git a/org.eclipse.search/search/org/eclipse/search/internal/ui/SearchResultViewer.java b/org.eclipse.search/search/org/eclipse/search/internal/ui/SearchResultViewer.java
deleted file mode 100644
index f28beb8..0000000
--- a/org.eclipse.search/search/org/eclipse/search/internal/ui/SearchResultViewer.java
+++ /dev/null
@@ -1,717 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2021 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *     Michael Fraenkel (fraenkel@us.ibm.com) - contributed a fix for:
- *       o New search view sets incorrect title
- *         (see https://bugs.eclipse.org/bugs/show_bug.cgi?id=60966)
- *******************************************************************************/
-package org.eclipse.search.internal.ui;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Iterator;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.DisposeEvent;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.graphics.Color;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Item;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableItem;
-import org.eclipse.swt.widgets.Widget;
-
-import org.eclipse.core.runtime.Assert;
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.core.runtime.IPath;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.resources.IResource;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.action.IMenuManager;
-import org.eclipse.jface.action.IToolBarManager;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.jface.action.Separator;
-import org.eclipse.jface.viewers.ArrayContentProvider;
-import org.eclipse.jface.viewers.IBaseLabelProvider;
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.LabelProviderChangedEvent;
-import org.eclipse.jface.viewers.StructuredSelection;
-import org.eclipse.jface.viewers.TableViewer;
-
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.actions.ActionContext;
-import org.eclipse.ui.actions.ActionFactory;
-import org.eclipse.ui.actions.ActionGroup;
-
-import org.eclipse.search.internal.ui.util.FileLabelProvider;
-import org.eclipse.search.ui.IActionGroupFactory;
-import org.eclipse.search.ui.IContextMenuConstants;
-import org.eclipse.search.ui.IContextMenuContributor;
-import org.eclipse.search.ui.ISearchResultViewEntry;
-import org.eclipse.search.ui.SearchUI;
-
-/**
- * A special viewer to present search results. The viewer implements an
- * optimized adding and removing strategy. Furthermore it manages
- * contributions for search result types. For example the viewer's context
- * menu differs if the search result has been generated by a text or
- * a java search.
- * @deprecated old search
- */
-@Deprecated
-public class SearchResultViewer extends TableViewer {
-
-	private SearchResultView fOuterPart;
-	private ShowNextResultAction fShowNextResultAction;
-	private ShowPreviousResultAction fShowPreviousResultAction;
-	private GotoMarkerAction fGotoMarkerActionProxy;
-	private SearchAgainAction fSearchAgainAction;
-	private RemoveResultAction fRemoveSelectedMatchesAction;
-	private RemoveAllResultsAction fRemoveAllResultsAction;
-	private SortDropDownAction fSortDropDownAction;
-	private SearchDropDownAction fSearchDropDownAction;
-	private CopyToClipboardAction fCopyToClipboardAction;
-	private int fMarkerToShow;
-	private boolean fHandleSelectionChangedEvents= true;
-	private ISelection fLastSelection;
-	private boolean fCurrentMatchRemoved= false;
-	private Color fPotentialMatchFgColor;
-	private ActionGroup fActionGroup;
-	private IContextMenuContributor fContextMenuContributor;
-	private IAction fGotoMarkerAction;
-
-	private ResourceToItemsMapper fResourceToItemsMapper;
-	private String fCurrentPageId= null;
-
-	public SearchResultViewer(SearchResultView outerPart, Composite parent) {
-		super(new Table(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION));
-
-		fResourceToItemsMapper= new ResourceToItemsMapper(this);
-
-		fOuterPart= outerPart;
-		Assert.isNotNull(fOuterPart);
-
-		if (SearchPreferencePage.arePotentialMatchesEmphasized())
-			fPotentialMatchFgColor= new Color(SearchPlugin.getActiveWorkbenchShell().getDisplay(), SearchPreferencePage.getPotentialMatchForegroundColor());
-
-		setUseHashlookup(true);
-		setContentProvider(ArrayContentProvider.getInstance());
-
-		ILabelProvider labelProvider= new SearchResultLabelProvider(new FileLabelProvider(FileLabelProvider.SHOW_LABEL));
-		setLabelProvider(labelProvider);
-
-		Search currentSearch= SearchManager.getDefault().getCurrentSearch();
-		boolean hasSearch= currentSearch != null;
-		boolean hasSearchOperation= currentSearch != null && currentSearch.getOperation() != null;
-
-		fShowNextResultAction= new ShowNextResultAction(this);
-		fShowNextResultAction.setEnabled(false);
-		fShowPreviousResultAction= new ShowPreviousResultAction(this);
-		fShowPreviousResultAction.setEnabled(false);
-		fGotoMarkerActionProxy= new GotoMarkerAction(this);
-		fGotoMarkerActionProxy.setEnabled(false);
-		fRemoveSelectedMatchesAction= new RemoveResultAction(this, false);
-		fRemoveSelectedMatchesAction.setEnabled(false);
-		fRemoveAllResultsAction= new RemoveAllResultsAction();
-		fRemoveAllResultsAction.setEnabled(false);
-		fSearchAgainAction= new SearchAgainAction();
-		fSearchAgainAction.setEnabled(hasSearchOperation);
-		fSortDropDownAction = new SortDropDownAction(this);
-		fSortDropDownAction.setEnabled(getItemCount() > 0);
-		fSearchDropDownAction= new SearchDropDownAction();
-		fSearchDropDownAction.setEnabled(hasSearch);
-		fCopyToClipboardAction= new CopyToClipboardAction(this);
-
-		addSelectionChangedListener(
-			event -> {
-				if (fLastSelection == null || !fLastSelection.equals(event.getSelection())) {
-					fLastSelection= event.getSelection();
-					handleSelectionChanged();
-				}
-			}
-		);
-
-		addOpenListener(event -> showResult());
-
-		MenuManager menuMgr= new MenuManager("#PopUp"); //$NON-NLS-1$
-		menuMgr.setRemoveAllWhenShown(true);
-		menuMgr.addMenuListener(
-			mgr -> {
-				SearchPlugin.createStandardGroups(mgr);
-				fillContextMenu(mgr);
-			});
-		Menu menu= menuMgr.createContextMenu(getTable());
-		getTable().setMenu(menu);
-
-		// Register menu
-		fOuterPart.getSite().registerContextMenu(menuMgr, this);
-
-		IActionBars actionBars= fOuterPart.getViewSite().getActionBars();
-		if (actionBars != null) {
-			actionBars.setGlobalActionHandler(ActionFactory.NEXT.getId(), fShowNextResultAction);
-			actionBars.setGlobalActionHandler(ActionFactory.PREVIOUS.getId(), fShowPreviousResultAction);
-		}
-
-		fOuterPart.getSite().setSelectionProvider(this);
-	}
-
-	void init() {
-		Search search= SearchManager.getDefault().getCurrentSearch();
-		if (search != null) {
-			setGotoMarkerAction(search.getGotoMarkerAction());
-			setContextMenuTarget(search.getContextMenuContributor());
-			setActionGroupFactory(null);
-			setActionGroupFactory(search.getActionGroupFactory());
-			setPageId(search.getPageId());
-			setInput(search.getResults());
-		}
-	}
-
-	@Override
-	protected void doUpdateItem(Widget item, Object element, boolean fullMap) {
-		super.doUpdateItem(item, element, fullMap);
-		if (((SearchResultViewEntry)element).isPotentialMatch()) {
-			TableItem ti = (TableItem) item;
-			ti.setForeground(fPotentialMatchFgColor);
-		}
-	}
-
-	private void handleSelectionChanged() {
-		int selectionCount= getSelectedEntriesCount();
-		boolean hasSingleSelection= selectionCount == 1;
-		boolean hasElements= getItemCount() > 0;
-		fShowNextResultAction.setEnabled(hasSingleSelection || (hasElements && selectionCount == 0));
-		fShowPreviousResultAction.setEnabled(hasSingleSelection || (hasElements && selectionCount == 0));
-		fGotoMarkerActionProxy.setEnabled(hasSingleSelection);
-		fRemoveSelectedMatchesAction.setEnabled(selectionCount > 0);
-
-		if (fHandleSelectionChangedEvents) {
-			fMarkerToShow= -1;
-			fCurrentMatchRemoved= false;
-		} else
-			fHandleSelectionChangedEvents= true;
-
-		updateStatusLine();
-	}
-
-	void updateStatusLine() {
-		boolean hasSingleSelection= getSelectedEntriesCount() == 1;
-		String location= ""; //$NON-NLS-1$
-		if (hasSingleSelection) {
-			ISearchResultViewEntry entry= (ISearchResultViewEntry)getTable().getItem(getTable().getSelectionIndex()).getData();
-			IPath path= entry.getResource().getFullPath();
-			if (path != null)
-				location= path.makeRelative().toString();
-		}
-		setStatusLineMessage(location);
-	}
-
-	void enableActions() {
-		/*
-		 * Note: The check before each set operation reduces flickering
-		 */
-		boolean state= getItemCount() > 0;
-		if (state != fShowNextResultAction.isEnabled())
-			fShowNextResultAction.setEnabled(state);
-		if (state != fShowPreviousResultAction.isEnabled())
-			fShowPreviousResultAction.setEnabled(state);
-		if (state != fSortDropDownAction.isEnabled())
-			fSortDropDownAction.setEnabled(state);
-		if (state != fRemoveAllResultsAction.isEnabled())
-			fRemoveAllResultsAction.setEnabled(state);
-
-		Search currentSearch= SearchManager.getDefault().getCurrentSearch();
-		state= currentSearch != null;
-		boolean operationState= currentSearch != null && currentSearch.getOperation() != null;
-		if (state != fSearchDropDownAction.isEnabled())
-			fSearchDropDownAction.setEnabled(state);
-		if (operationState != fSearchAgainAction.isEnabled())
-			fSearchAgainAction.setEnabled(operationState);
-
-		state= !getSelection().isEmpty();
-		if (state != fGotoMarkerActionProxy.isEnabled())
-			fGotoMarkerActionProxy.setEnabled(state);
-		if (state != fRemoveSelectedMatchesAction.isEnabled())
-			fRemoveSelectedMatchesAction.setEnabled(state);
-	}
-
-
-	@Override
-	protected void inputChanged(Object input, Object oldInput) {
-		fLastSelection= null;
-		getTable().removeAll();
-		super.inputChanged(input, oldInput);
-		fMarkerToShow= -1;
-		fCurrentMatchRemoved= false;
-		updateTitle();
-		enableActions();
-		if (getItemCount() > 0)
-			selectResult(0);
-
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(getControl(), SearchPlugin.getDefault().getSearchViewHelpContextId());
-	}
-
-	protected int getSelectedEntriesCount() {
-		ISelection s= getSelection();
-		if (s == null || s.isEmpty() || !(s instanceof IStructuredSelection))
-			return 0;
-		IStructuredSelection selection= (IStructuredSelection)s;
-		return selection.size();
-	}
-
-	//--- Contribution management -----------------------------------------------
-
-
-	protected boolean enableRemoveMatchMenuItem() {
-		if (getSelectedEntriesCount() != 1)
-			return false;
-		Table table= getTable();
-		int index= table.getSelectionIndex();
-		SearchResultViewEntry entry= null;
-		if (index > -1)
-			entry= (SearchResultViewEntry)table.getItem(index).getData();
-		return (entry != null && entry.getMatchCount() > 1);
-
-	}
-
-	void fillContextMenu(IMenuManager menu) {
-		ISelection selection= getSelection();
-
-		if (fActionGroup != null) {
-			ActionContext context= new ActionContext(selection);
-			context.setInput(getInput());
-			fActionGroup.setContext(context);
-			fActionGroup.fillContextMenu(menu);
-			fActionGroup.setContext(null);
-		}
-
-		if (fContextMenuContributor != null)
-			fContextMenuContributor.fill(menu, this);
-
-		if (!selection.isEmpty()) {
-			menu.appendToGroup(IContextMenuConstants.GROUP_REORGANIZE, fCopyToClipboardAction);
-			menu.appendToGroup(IContextMenuConstants.GROUP_GOTO, fGotoMarkerActionProxy);
-			if (enableRemoveMatchMenuItem())
-				menu.appendToGroup(IContextMenuConstants.GROUP_REMOVE_MATCHES, new RemoveMatchAction(this));
-			menu.appendToGroup(IContextMenuConstants.GROUP_REMOVE_MATCHES, new RemoveResultAction(this, true));
-
-			if (isPotentialMatchSelected())
-				menu.appendToGroup(IContextMenuConstants.GROUP_REMOVE_MATCHES, new RemovePotentialMatchesAction(fOuterPart.getViewSite()));
-		}
-
-		// If we have elements
-		if (getItemCount() > 0)
-			menu.appendToGroup(IContextMenuConstants.GROUP_REMOVE_MATCHES, new RemoveAllResultsAction());
-
-		menu.appendToGroup(IContextMenuConstants.GROUP_VIEWER_SETUP, fSearchAgainAction);
-		if (getItemCount() > 0) {
-			fSortDropDownAction= fSortDropDownAction.renew();
-			if (fSortDropDownAction.getSorterCount() > 1)
-				menu.appendToGroup(IContextMenuConstants.GROUP_VIEWER_SETUP, fSortDropDownAction);
-		}
-	}
-
-	private boolean isPotentialMatchSelected() {
-		if (getSelectedEntriesCount() == 0)
-			return false;
-
-		Iterator<?> iter= Collections.emptyList().iterator();
-		ISelection selection= getSelection();
-		if (selection instanceof IStructuredSelection)
-			iter= ((IStructuredSelection)selection).iterator();
-
-		while (iter.hasNext()) {
-			Object entry= iter.next();
-			if (entry instanceof ISearchResultViewEntry) {
-				IMarker marker= ((ISearchResultViewEntry)entry).getSelectedMarker();
-				if (marker != null && marker.getAttribute(SearchUI.POTENTIAL_MATCH, false))
-					return true;
-			}
-		}
-
-		return false;
-	}
-
-	IAction getGotoMarkerAction() {
-		// null as return value is covered (no action will take place)
-		return fGotoMarkerAction;
-	}
-
-	void setGotoMarkerAction(IAction gotoMarkerAction) {
-		fGotoMarkerAction= gotoMarkerAction;
-	}
-
-
-	void setContextMenuTarget(IContextMenuContributor contributor) {
-		fContextMenuContributor= contributor;
-	}
-
-	void setActionGroupFactory(IActionGroupFactory groupFactory) {
-		IActionBars actionBars= fOuterPart.getViewSite().getActionBars();
-		if (fActionGroup != null) {
-			fActionGroup.dispose();
-			fActionGroup= null;
-		}
-
-		if (groupFactory != null) {
-			fActionGroup= groupFactory.createActionGroup(fOuterPart);
-			if (actionBars != null)
-				fActionGroup.fillActionBars(actionBars);
-		}
-		if (actionBars != null)
-			actionBars.updateActionBars();
-	}
-
-	void setPageId(String pageId) {
-		if (fCurrentPageId != null && fCurrentPageId.equals(pageId))
-			return;
-
-		fCurrentPageId= pageId;
-		ILabelProvider labelProvider= fOuterPart.getLabelProvider(pageId);
-		if (labelProvider != null)
-			internalSetLabelProvider(labelProvider);
-		fSortDropDownAction.setPageId(pageId);
-	}
-
-	void fillToolBar(IToolBarManager tbm) {
-		tbm.add(fShowNextResultAction);
-		tbm.add(fShowPreviousResultAction);
-//		tbm.add(fGotoMarkerAction); see bug 15275
-		tbm.add(fRemoveSelectedMatchesAction);
-		tbm.add(fRemoveAllResultsAction);
-		tbm.add(new Separator());
-		tbm.add(new OpenSearchDialogAction());
-		tbm.add(fSearchDropDownAction);
-
-		// need to hook F5 to table
-		getTable().addKeyListener(new KeyAdapter() {
-			@Override
-			public void keyReleased(KeyEvent e) {
-				if (e.keyCode == SWT.F5) {
-					fSearchAgainAction.run();
-					return;	// performance
-				}
-				if (e.character == SWT.DEL) {
-					new RemoveResultAction(SearchResultViewer.this, true).run();
-					return; // performance
-				}
-			}
-		});
-	}
-
-	int getItemCount() {
-		return SearchManager.getDefault().getCurrentItemCount();
-	}
-
-	void internalSetLabelProvider(ILabelProvider provider) {
-		setLabelProvider(new SearchResultLabelProvider(provider));
-	}
-
-	/**
-	 * Makes the first marker of the current result entry
-	 * visible in an editor. If no result
-	 * is visible, this method does nothing.
-	 */
-	public void showResult() {
-		Table table= getTable();
-		if (!canDoShowResult(table))
-			return;
-
-
-		int index= table.getSelectionIndex();
-		if (index < 0)
-			return;
-		SearchResultViewEntry entry= (SearchResultViewEntry)getTable().getItem(index).getData();
-
-
-		fMarkerToShow= 0;
-		fCurrentMatchRemoved= false;
-		entry.setSelectedMarkerIndex(0);
-		openCurrentSelection();
-	}
-
-
-	/**
-	 * Makes the next result (marker) visible in an editor. If no result
-	 * is visible, this method makes the first result visible.
-	 */
-	public void showNextResult() {
-		Table table= getTable();
-		if (!canDoShowResult(table))
-			return;
-
-		int index= table.getSelectionIndex();
-		SearchResultViewEntry entry= null;
-		if (index > -1)
-			entry= (SearchResultViewEntry)table.getItem(index).getData();
-
-		if (fCurrentMatchRemoved)
-			fCurrentMatchRemoved= false;
-		else
-			fMarkerToShow++;
-		if (entry == null || fMarkerToShow >= entry.getMatchCount()) {
-			// move selection
-			if (index == -1) {
-				index= 0;
-			} else {
-				index++;
-				if (index >= table.getItemCount())
-					index= 0;
-			}
-			fMarkerToShow= 0;
-			entry= (SearchResultViewEntry)getTable().getItem(index).getData();
-			selectResult(index);
-		}
-		entry.setSelectedMarkerIndex(fMarkerToShow);
-		openCurrentSelection();
-		updateStatusLine();
-	}
-
-
-	/**
-	 * Makes the previous result (marker) visible. If there isn't any
-	 * visible result, this method makes the last result visible.
-	 */
-	public void showPreviousResult() {
-		fCurrentMatchRemoved= false;
-		Table table= getTable();
-		if (!canDoShowResult(table))
-			return;
-
-		int index= table.getSelectionIndex();
-		SearchResultViewEntry entry;
-
-
-		fMarkerToShow--;
-		if (fMarkerToShow >= 0)
-			entry= (SearchResultViewEntry)getTable().getItem(getTable().getSelectionIndex()).getData();
-		else {
-			// move selection
-			int count= table.getItemCount();
-			if (index == -1) {
-				index= count - 1;
-			} else {
-				index--;
-				if (index < 0)
-					index= count - 1;
-			}
-			entry= (SearchResultViewEntry)getTable().getItem(index).getData();
-			fMarkerToShow= entry.getMatchCount() - 1;
-			selectResult(index);
-		}
-		entry.setSelectedMarkerIndex(fMarkerToShow);
-		openCurrentSelection();
-		updateStatusLine();
-	}
-
-	private boolean canDoShowResult(Table table) {
-		if (table == null || getItemCount() == 0)
-			return false;
-		return true;
-	}
-
-	private void selectResult(int index) {
-		fHandleSelectionChangedEvents= false;
-		Object element= getElementAt(index);
-		if (element != null)
-			setSelection(new StructuredSelection(getElementAt(index)), true);
-		else
-			setSelection(StructuredSelection.EMPTY);
-	}
-
-	private void openCurrentSelection() {
-		IAction action= getGotoMarkerAction();
-		if (action != null)
-			action.run();
-	}
-
-	/**
-	 * Updates the foreground color for potential matches.
-	 */
-	void updatedPotentialMatchFgColor() {
-		fPotentialMatchFgColor= null;
-		if (SearchPreferencePage.arePotentialMatchesEmphasized())
-			fPotentialMatchFgColor= new Color(SearchPlugin.getActiveWorkbenchShell().getDisplay(), SearchPreferencePage.getPotentialMatchForegroundColor());
-		refresh();
-	}
-
-	/**
-	 * Update the title
-	 */
-	protected void updateTitle() {
-		boolean hasCurrentSearch= SearchManager.getDefault().getCurrentSearch() != null;
-		String title;
-		if (hasCurrentSearch) {
-			String description= SearchManager.getDefault().getCurrentSearch().getFullDescription();
-			title= Messages.format(SearchMessages.SearchResultView_titleWithDescription, description);
-		} else
-			title= SearchMessages.SearchResultView_title;
-		if (title == null || !title.equals(fOuterPart.getContentDescription()))
-			fOuterPart.setContentDescription(title);
-	}
-
-	/**
-	 * Clear the title
-	 */
-	protected void clearTitle() {
-		String title= SearchMessages.SearchResultView_title;
-		if (!title.equals(fOuterPart.getContentDescription()))
-			fOuterPart.setContentDescription(title);
-	}
-
-	/**
-	 * Sets the message text to be displayed on the status line.
-	 * The image on the status line is cleared.
-	 * @param message the message
-	 */
-	private void setStatusLineMessage(String message) {
-		fOuterPart.getViewSite().getActionBars().getStatusLineManager().setMessage(message);
-	}
-
-
-	@Override
-	protected void handleDispose(DisposeEvent event) {
-		fLastSelection= null;
-		Menu menu= getTable().getMenu();
-		if (menu != null)
-			menu.dispose();
-		if (fActionGroup != null) {
-			fActionGroup.dispose();
-			fActionGroup= null;
-		}
-		super.handleDispose(event);
-	}
-
-	//--- Change event handling -------------------------------------------------
-
-	/**
-	 * Handle a single add.
-	 * @param entry the entry to add
-	 */
-	protected void handleAddMatch(ISearchResultViewEntry entry) {
-		insert(entry, -1);
-	}
-
-	/**
-	 * Handle a single remove.
-	 * @param entry the entry to remove
-	 */
-	protected void handleRemoveMatch(ISearchResultViewEntry entry) {
-		Widget item= findItem(entry);
-		if (entry.getMatchCount() == 0)
-			remove(entry);
-		else
-			updateItem(item, entry);
-		updateStatusLine();
-	}
-
-	/**
-	 * Handle remove all.
-	 */
-	protected void handleRemoveAll() {
-		setContextMenuTarget(null);
-		setActionGroupFactory(null);
-		setInput(null);
-	}
-
-	/**
-	 * Handle an update of an entry.
-	 *
-	 * @param entry the entry
-	 * @param matchRemoved <code>true</code> if a match got removed
-	 */
-	protected void handleUpdateMatch(ISearchResultViewEntry entry, boolean matchRemoved) {
-		Widget item= findItem(entry);
-		updateItem(item, entry);
-		if (matchRemoved && getSelectionFromWidget().contains(entry))
-			fCurrentMatchRemoved= true;
-	}
-
-	//--- Persistency -------------------------------------------------
-
-	void restoreState(IMemento memento) {
-		fSortDropDownAction.restoreState(memento);
-	}
-
-	void saveState(IMemento memento) {
-		fSortDropDownAction.saveState(memento);
-	}
-
-	@Override
-	protected void handleLabelProviderChanged(LabelProviderChangedEvent event) {
-		Object[] changed= event.getElements();
-		if (changed != null && !fResourceToItemsMapper.isEmpty()) {
-			ArrayList<Object> others= new ArrayList<>(changed.length);
-			for (Object curr : changed) {
-				if (curr instanceof IResource)
-					fResourceToItemsMapper.resourceChanged((IResource) curr);
-				else if (curr instanceof IAdaptable) {
-					IResource resource= ((IAdaptable)curr).getAdapter(IResource.class);
-					if (resource != null)
-						fResourceToItemsMapper.resourceChanged(resource);
-				} else
-					others.add(curr);
-			}
-			if (others.isEmpty()) {
-				return;
-			}
-			event= new LabelProviderChangedEvent((IBaseLabelProvider) event.getSource(), others.toArray());
-		}
-		super.handleLabelProviderChanged(event);
-	}
-
-	@Override
-	protected void mapElement(Object element, Widget item) {
-		super.mapElement(element, item);
-		if (item instanceof Item) {
-			fResourceToItemsMapper.addToMap(element, (Item)item);
-		}
-	}
-
-	@Override
-	protected void unmapElement(Object element, Widget item) {
-		if (item instanceof Item) {
-			fResourceToItemsMapper.removeFromMap(element, (Item)item);
-		}
-		super.unmapElement(element, item);
-	}
-
-	@Override
-	protected void unmapAllElements() {
-		fResourceToItemsMapper.clearMap();
-		super.unmapAllElements();
-	}
-
-	@Override
-	protected void internalRefresh(Object element, boolean updateLabels) {
-		// see bug 44891
-		getTable().setRedraw(false);
-		super.internalRefresh(element, updateLabels);
-		getTable().setRedraw(true);
-	}
-
-	void handleAllSearchesRemoved() {
-		setContextMenuTarget(null);
-		setActionGroupFactory(null);
-		setInput(null);
-		fSearchDropDownAction.clear();
-	}
-
-}
diff --git a/org.eclipse.search/search/org/eclipse/search/internal/ui/ShowNextResultAction.java b/org.eclipse.search/search/org/eclipse/search/internal/ui/ShowNextResultAction.java
deleted file mode 100644
index 43f566a..0000000
--- a/org.eclipse.search/search/org/eclipse/search/internal/ui/ShowNextResultAction.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.search.internal.ui;
-
-import org.eclipse.jface.action.Action;
-
-import org.eclipse.ui.IWorkbenchCommandConstants;
-
-/**
- * @deprecated old search
- */
-@Deprecated
-class ShowNextResultAction extends Action {
-
-	private SearchResultViewer fViewer;
-
-	public ShowNextResultAction(SearchResultViewer viewer) {
-		super(SearchMessages.SearchResultView_showNext_text);
-		SearchPluginImages.setImageDescriptors(this, SearchPluginImages.T_LCL, SearchPluginImages.IMG_LCL_SEARCH_NEXT);
-		setToolTipText(SearchMessages.SearchResultView_showNext_tooltip);
-		fViewer= viewer;
-		setActionDefinitionId(IWorkbenchCommandConstants.NAVIGATE_NEXT);
-	}
-
-	@Override
-	public void run() {
-		fViewer.showNextResult();
-	}
-}
diff --git a/org.eclipse.search/search/org/eclipse/search/internal/ui/ShowPreviousResultAction.java b/org.eclipse.search/search/org/eclipse/search/internal/ui/ShowPreviousResultAction.java
deleted file mode 100644
index 9b461d4..0000000
--- a/org.eclipse.search/search/org/eclipse/search/internal/ui/ShowPreviousResultAction.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.search.internal.ui;
-
-import org.eclipse.jface.action.Action;
-
-import org.eclipse.ui.IWorkbenchCommandConstants;
-
-/**
- * @deprecated old search
- */
-@Deprecated
-class ShowPreviousResultAction extends Action {
-
-	private SearchResultViewer fViewer;
-
-	public ShowPreviousResultAction(SearchResultViewer viewer) {
-		super(SearchMessages.SearchResultView_showPrev_text);
-		SearchPluginImages.setImageDescriptors(this, SearchPluginImages.T_LCL, SearchPluginImages.IMG_LCL_SEARCH_PREV);
-		setToolTipText(SearchMessages.SearchResultView_showPrev_tooltip);
-		setActionDefinitionId(IWorkbenchCommandConstants.NAVIGATE_PREVIOUS);
-		fViewer= viewer;
-	}
-
-	@Override
-	public void run() {
-		fViewer.showPreviousResult();
-	}
-}
diff --git a/org.eclipse.search/search/org/eclipse/search/internal/ui/ShowSearchAction.java b/org.eclipse.search/search/org/eclipse/search/internal/ui/ShowSearchAction.java
deleted file mode 100644
index ef92309..0000000
--- a/org.eclipse.search/search/org/eclipse/search/internal/ui/ShowSearchAction.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2008 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.search.internal.ui;
-
-import org.eclipse.jface.action.Action;
-
-/**
- * @deprecated old search
- */
-@Deprecated
-class ShowSearchAction extends Action {
-	private Search fSearch;
-
-	/**
-	 * Create a new instance of this class.
-	 *
-	 * @param search the search
-	 */
-	public ShowSearchAction(Search search) {
-		fSearch= search;
-		String desc= search.getShortDescription();
-		setText(desc);
-		setToolTipText(desc);
-		setImageDescriptor(search.getImageDescriptor());
-	}
-	/**
-	 *	Invoke the resource wizard selection wizard
-	 */
-	@Override
-	public void run() {
-		if (fSearch != SearchManager.getDefault().getCurrentSearch())
-			SearchManager.getDefault().setCurrentSearch(fSearch);
-	}
-}
diff --git a/org.eclipse.search/search/org/eclipse/search/internal/ui/ShowSearchesAction.java b/org.eclipse.search/search/org/eclipse/search/internal/ui/ShowSearchesAction.java
deleted file mode 100644
index 16889b7..0000000
--- a/org.eclipse.search/search/org/eclipse/search/internal/ui/ShowSearchesAction.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2009 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.search.internal.ui;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Iterator;
-import java.util.List;
-
-import org.eclipse.swt.graphics.Image;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.viewers.ArrayContentProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.window.Window;
-
-import org.eclipse.ui.dialogs.ListDialog;
-
-
-/**
- * Invoke the resource creation wizard selection Wizard.
- * This action will retarget to the active view.
- * @deprecated old search
- */
-@Deprecated
-class ShowSearchesAction extends Action {
-
-	private static final class SearchesLabelProvider extends LabelProvider {
-
-		private ArrayList<Image> fImages= new ArrayList<>();
-
-		@Override
-		public String getText(Object element) {
-			if (!(element instanceof ShowSearchAction))
-				return ""; //$NON-NLS-1$
-			return ((ShowSearchAction)element).getText();
-		}
-		@Override
-		public Image getImage(Object element) {
-			if (!(element instanceof ShowSearchAction))
-				return null;
-
-			ImageDescriptor imageDescriptor= ((ShowSearchAction)element).getImageDescriptor();
-			if (imageDescriptor == null)
-				return null;
-
-			Image image= imageDescriptor.createImage();
-			fImages.add(image);
-
-			return image;
-		}
-
-		@Override
-		public void dispose() {
-			Iterator<Image> iter= fImages.iterator();
-			while (iter.hasNext())
-				iter.next().dispose();
-
-			fImages= null;
-		}
-	}
-
-	/**
-	 *	Create a new instance of this class
-	 */
-	public ShowSearchesAction() {
-		super(SearchMessages.ShowOtherSearchesAction_label);
-		setToolTipText(SearchMessages.ShowOtherSearchesAction_tooltip);
-	}
-	/*
-	 * Overrides method from Action
-	 */
-	@Override
-	public void run() {
-		run(false);
-	}
-
-	public void run(boolean showAll) {
-		Iterator<Search> iter= SearchManager.getDefault().getPreviousSearches().iterator();
-		int cutOffSize;
-		if (showAll)
-			cutOffSize= 0;
-		else
-			cutOffSize= SearchDropDownAction.RESULTS_IN_DROP_DOWN;
-		int size= SearchManager.getDefault().getPreviousSearches().size() - cutOffSize;
-		Search selectedSearch= SearchManager.getDefault().getCurrentSearch();
-		Action selectedAction = null;
-		ArrayList<Action> input= new ArrayList<>(size);
-		int i= 0;
-		while (iter.hasNext()) {
-			Search search= iter.next();
-			if (i++ < cutOffSize)
-				continue;
-			Action action= new ShowSearchAction(search);
-			input.add(action);
-			if (selectedSearch == search)
-				selectedAction= action;
-		}
-
-		// Open a list dialog.
-		String title;
-		String message;
-		if (showAll) {
-			title= SearchMessages.PreviousSearchesDialog_title;
-			message= SearchMessages.PreviousSearchesDialog_message;
-		}
-		else {
-			title= SearchMessages.OtherSearchesDialog_title;
-			message= SearchMessages.OtherSearchesDialog_message;
-		}
-
-		LabelProvider labelProvider=new SearchesLabelProvider();
-
-		ListDialog dlg= new ListDialog(SearchPlugin.getActiveWorkbenchShell());
-		dlg.setInput(input);
-		dlg.setTitle(title);
-		dlg.setContentProvider(ArrayContentProvider.getInstance());
-		dlg.setLabelProvider(labelProvider);
-		dlg.setMessage(message);
-		if (selectedAction != null) {
-			Object[] selected= new Object[1];
-			selected[0]= selectedAction;
-			dlg.setInitialSelections(selected);
-		}
-		if (dlg.open() == Window.OK) {
-			List<Object> result= Arrays.asList(dlg.getResult());
-			if (result != null && result.size() == 1) {
-				((ShowSearchAction)result.get(0)).run();
-			}
-		}
-	}
-}
diff --git a/org.eclipse.search/search/org/eclipse/search/internal/ui/SortDropDownAction.java b/org.eclipse.search/search/org/eclipse/search/internal/ui/SortDropDownAction.java
deleted file mode 100644
index 6d843df..0000000
--- a/org.eclipse.search/search/org/eclipse/search/internal/ui/SortDropDownAction.java
+++ /dev/null
@@ -1,226 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2015 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.search.internal.ui;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Map.Entry;
-
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Menu;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.action.ActionContributionItem;
-import org.eclipse.jface.action.IMenuCreator;
-import org.eclipse.jface.viewers.ViewerSorter;
-
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.model.WorkbenchViewerSorter;
-
-/**
- * Drop down action that holds the currently registered sort actions.
- * @deprecated old search
- */
-@Deprecated
-class SortDropDownAction extends Action implements IMenuCreator {
-
-	// Persistance tags.
-	private static final String TAG_SORTERS= "sorters"; //$NON-NLS-1$
-	private static final String TAG_DEFAULT_SORTERS= "defaultSorters"; //$NON-NLS-1$
-	private static final String TAG_ELEMENT= "element"; //$NON-NLS-1$
-	private static final String TAG_PAGE_ID= "pageId"; //$NON-NLS-1$
-	private static final String TAG_SORTER_ID= "sorterId"; //$NON-NLS-1$
-
-	private static Map<String, SorterDescriptor> fgLastCheckedForType= new HashMap<>(5);
-
-	private SearchResultViewer fViewer;
-	private String fPageId;
-	private Menu fMenu;
-	private Map<String, SorterDescriptor> fLastCheckedForType;
-
-	public SortDropDownAction(SearchResultViewer viewer) {
-		super(SearchMessages.SortDropDownAction_label);
-		SearchPluginImages.setImageDescriptors(this, SearchPluginImages.T_LCL, SearchPluginImages.IMG_LCL_SEARCH_SORT);
-		fViewer= viewer;
-		setToolTipText(SearchMessages.SortDropDownAction_tooltip);
-		setMenuCreator(this);
-		fLastCheckedForType= new HashMap<>(5);
-	}
-
-	@Override
-	public void dispose() {
-		if (fMenu != null && !fMenu.isDisposed())
-			fMenu.dispose();
-		fMenu= null;
-	}
-
-	@Override
-	public Menu getMenu(Control parent) {
-		return null;
-	}
-
-	void setPageId(String pageId) {
-		fPageId= pageId;
-		SorterDescriptor sorterDesc= fLastCheckedForType.get(pageId);
-		if (sorterDesc == null)
-			sorterDesc= fgLastCheckedForType.get(pageId);
-		if (sorterDesc == null)
-			sorterDesc= findSorter(fPageId);
-		if (sorterDesc != null) {
-			setChecked(sorterDesc);
-			fViewer.setSorter(sorterDesc.createObject());
-		} else {
-			// Use default sort workbench viewer sorter
-			fViewer.setSorter(new WorkbenchViewerSorter());
-		}
-	}
-
-	@Override
-	public Menu getMenu(final Menu parent) {
-		dispose(); // ensure old menu gets disposed
-
-		fMenu= new Menu(parent);
-
-		Iterator<SorterDescriptor> iter= SearchPlugin.getDefault().getSorterDescriptors().iterator();
-		while (iter.hasNext()) {
-			Object value= fLastCheckedForType.get(fPageId);
-			final String checkedId;
-			if (value instanceof SorterDescriptor)
-				checkedId= ((SorterDescriptor)value).getId();
-			else
-				checkedId= ""; //$NON-NLS-1$
-
-			final SorterDescriptor sorterDesc= iter.next();
-			if (!sorterDesc.getPageId().equals(fPageId) && !sorterDesc.getPageId().equals("*")) //$NON-NLS-1$
-				continue;
-			final ViewerSorter sorter= sorterDesc.createObject();
-			if (sorter != null) {
-				final Action action= new Action() {
-					@Override
-					public void run() {
-						if (!checkedId.equals(sorterDesc.getId())) {
-							SortDropDownAction.this.setChecked(sorterDesc);
-							BusyIndicator.showWhile(parent.getDisplay(), () -> fViewer.setSorter(sorter));
-						}
-					}
-				};
-				action.setText(sorterDesc.getLabel());
-				action.setImageDescriptor(sorterDesc.getImage());
-				action.setToolTipText(sorterDesc.getToolTipText());
-				action.setChecked(checkedId.equals(sorterDesc.getId()));
-				addActionToMenu(fMenu, action);
-			}
-		}
-		return fMenu;
-	}
-
-	protected void addActionToMenu(Menu parent, Action action) {
-		ActionContributionItem item= new ActionContributionItem(action);
-		item.fill(parent, -1);
-	}
-
-	@Override
-	public void run() {
-		// nothing to do
-	}
-
-	private SorterDescriptor findSorter(String pageId) {
-		Iterator<SorterDescriptor> iter= SearchPlugin.getDefault().getSorterDescriptors().iterator();
-		while (iter.hasNext()) {
-			SorterDescriptor sorterDesc= iter.next();
-			if (sorterDesc.getPageId().equals(pageId) || sorterDesc.getPageId().equals("*")) //$NON-NLS-1$
-				return sorterDesc;
-		}
-		return null;
-	}
-
-	private SorterDescriptor getSorter(String sorterId) {
-		Iterator<SorterDescriptor> iter= SearchPlugin.getDefault().getSorterDescriptors().iterator();
-		while (iter.hasNext()) {
-			SorterDescriptor sorterDesc= iter.next();
-			if (sorterDesc.getId().equals(sorterId))
-				return sorterDesc;
-		}
-		return null;
-	}
-
-	private void setChecked(SorterDescriptor sorterDesc) {
-		fLastCheckedForType.put(fPageId, sorterDesc);
-		fgLastCheckedForType.put(fPageId, sorterDesc);
-	}
-
-	/**
-	 * Disposes this action's menu and returns a new unused instance.
-	 * @return the action
-	 */
-	SortDropDownAction renew() {
-		SortDropDownAction action= new SortDropDownAction(fViewer);
-		action.fLastCheckedForType= fLastCheckedForType;
-		action.fPageId= fPageId;
-		dispose();
-		return action;
-	}
-
-	//--- Persistency -------------------------------------------------
-
-	void restoreState(IMemento memento) {
-		if (fLastCheckedForType.isEmpty())
-			restoreState(memento, fLastCheckedForType, TAG_SORTERS);
-		if (fgLastCheckedForType.isEmpty())
-			restoreState(memento, fgLastCheckedForType, TAG_DEFAULT_SORTERS);
-	}
-
-	private void restoreState(IMemento memento, Map<String, SorterDescriptor> map, String mapName) {
-		memento= memento.getChild(mapName);
-		if (memento == null)
-			return;
-		IMemento[] mementoElements= memento.getChildren(TAG_ELEMENT);
-		for (IMemento mementoElement : mementoElements) {
-			String pageId= mementoElement.getString(TAG_PAGE_ID);
-			String sorterId= mementoElement.getString(TAG_SORTER_ID);
-			SorterDescriptor sorterDesc= getSorter(sorterId);
-			if (sorterDesc != null)
-				map.put(pageId, sorterDesc);
-		}
-	}
-
-	void saveState(IMemento memento) {
-		saveState(memento, fgLastCheckedForType, TAG_DEFAULT_SORTERS);
-		saveState(memento, fLastCheckedForType, TAG_SORTERS);
-	}
-
-	private void saveState(IMemento memento, Map<String, SorterDescriptor> map, String mapName) {
-		Iterator<Entry<String, SorterDescriptor>> iter= map.entrySet().iterator();
-		memento= memento.createChild(mapName);
-		while (iter.hasNext()) {
-			IMemento mementoElement= memento.createChild(TAG_ELEMENT);
-			Entry<String, SorterDescriptor> entry= iter.next();
-			mementoElement.putString(TAG_PAGE_ID, entry.getKey());
-			mementoElement.putString(TAG_SORTER_ID, entry.getValue().getId());
-		}
-	}
-
-	int getSorterCount() {
-		int count= 0;
-		Iterator<SorterDescriptor> iter= SearchPlugin.getDefault().getSorterDescriptors().iterator();
-		while (iter.hasNext()) {
-			SorterDescriptor sorterDesc= iter.next();
-			if (sorterDesc.getPageId().equals(fPageId) || sorterDesc.getPageId().equals("*")) //$NON-NLS-1$
-				count++;
-		}
-		return count;
-	}
-}
diff --git a/org.eclipse.search/search/org/eclipse/search/internal/ui/util/FileLabelProvider.java b/org.eclipse.search/search/org/eclipse/search/internal/ui/util/FileLabelProvider.java
deleted file mode 100644
index 73fa651..0000000
--- a/org.eclipse.search/search/org/eclipse/search/internal/ui/util/FileLabelProvider.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2015 IBM Corporation and others.
- *
- * This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License 2.0
- * which accompanies this distribution, and is available at
- * https://www.eclipse.org/legal/epl-2.0/
- *
- * SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.search.internal.ui.util;
-
-
-import java.text.MessageFormat;
-
-import org.eclipse.swt.graphics.Image;
-
-import org.eclipse.core.runtime.IPath;
-
-import org.eclipse.core.resources.IResource;
-
-import org.eclipse.jface.viewers.ILabelDecorator;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.jface.viewers.LabelProvider;
-
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.model.WorkbenchLabelProvider;
-
-import org.eclipse.search.internal.ui.SearchMessages;
-import org.eclipse.search.ui.ISearchResultViewEntry;
-
-/**
- * @deprecated Old search view
- */
-@Deprecated
-public class FileLabelProvider extends LabelProvider {
-
-	public static final int SHOW_LABEL= 1;
-	public static final int SHOW_LABEL_PATH= 2;
-	public static final int SHOW_PATH_LABEL= 3;
-	public static final int SHOW_PATH= 4;
-
-	private static final String fgSeparatorFormat= SearchMessages.FileLabelProvider_dashSeparated;
-
-	private WorkbenchLabelProvider fLabelProvider;
-	private ILabelDecorator fDecorator;
-
-	private int fOrder;
-	private Object[] fArgs= new String[2];
-
-	public FileLabelProvider(int orderFlag) {
-		fDecorator= PlatformUI.getWorkbench().getDecoratorManager().getLabelDecorator();
-		fLabelProvider= new WorkbenchLabelProvider();
-		fOrder= orderFlag;
-	}
-
-	public void setOrder(int orderFlag) {
-		fOrder= orderFlag;
-	}
-
-	@Override
-	public String getText(Object element) {
-		if (!(element instanceof ISearchResultViewEntry))
-			return ""; //$NON-NLS-1$
-
-		IResource resource= ((ISearchResultViewEntry) element).getResource();
-		String text= null;
-
-		if (resource == null || !resource.exists())
-			text= SearchMessages.SearchResultView_removed_resource;
-
-		else {
-			IPath path= resource.getFullPath().removeLastSegments(1);
-			if (path.getDevice() == null)
-				path= path.makeRelative();
-			if (fOrder == SHOW_LABEL || fOrder == SHOW_LABEL_PATH) {
-				text= fLabelProvider.getText(resource);
-				if (path != null && fOrder == SHOW_LABEL_PATH) {
-					fArgs[0]= text;
-					fArgs[1]= path.toString();
-					text= MessageFormat.format(fgSeparatorFormat, fArgs);
-				}
-			} else {
-				if (path != null)
-					text= path.toString();
-				else
-					text= ""; //$NON-NLS-1$
-				if (fOrder == SHOW_PATH_LABEL) {
-					fArgs[0]= text;
-					fArgs[1]= fLabelProvider.getText(resource);
-					text= MessageFormat.format(fgSeparatorFormat, fArgs);
-				}
-			}
-		}
-
-		// Do the decoration
-		if (fDecorator != null) {
-			String decoratedText= fDecorator.decorateText(text, resource);
-		if (decoratedText != null)
-			return decoratedText;
-		}
-		return text;
-	}
-
-	@Override
-	public Image getImage(Object element) {
-		if (!(element instanceof ISearchResultViewEntry))
-			return null;
-
-		IResource resource= ((ISearchResultViewEntry) element).getResource();
-		Image image= fLabelProvider.getImage(resource);
-		if (fDecorator != null) {
-			Image decoratedImage= fDecorator.decorateImage(image, resource);
-			if (decoratedImage != null)
-				return decoratedImage;
-		}
-		return image;
-	}
-
-	@Override
-	public void dispose() {
-		super.dispose();
-		fLabelProvider.dispose();
-	}
-
-	@Override
-	public boolean isLabelProperty(Object element, String property) {
-		return fLabelProvider.isLabelProperty(element, property);
-	}
-
-	@Override
-	public void removeListener(ILabelProviderListener listener) {
-		super.removeListener(listener);
-		fLabelProvider.removeListener(listener);
-	}
-
-	@Override
-	public void addListener(ILabelProviderListener listener) {
-		super.addListener(listener);
-		fLabelProvider.addListener(listener);
-	}
-}