Bug 517125 - Regression: Filtering issues and no default selection 

This bugfix restores the Ctrl+E filter matching as it was in 4.6
- excludes files extensions when matching, but matches *.java
- selects by default the first matched item
- skips dirty editors prefix (*)

Change-Id: I2a848fdb211bc960f8aa713131c4ddd3fcdc137a
Signed-off-by: Patrik Suzzi <psuzzi@gmail.com>
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/FilteredTableBaseHandler.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/FilteredTableBaseHandler.java
index de74c4b..0afc43a 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/FilteredTableBaseHandler.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/FilteredTableBaseHandler.java
@@ -457,13 +457,16 @@
 
 	/**
 	 * Add modify listener to the search text, trigger search each time text
-	 * changes
+	 * changes. After the search the first matching result is selected. 
 	 */
 	protected void addModifyListener(Text text) {
 		text.addModifyListener(e -> {
 			String searchText = ((Text) e.widget).getText();
 			setMatcherString(searchText);
 			tableViewer.refresh();
+			if (tableViewer.getTable().getColumnCount() > 0) {
+				tableViewer.getTable().select(0);
+			}
 		});
 	}
 
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbookEditorsHandler.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbookEditorsHandler.java
index ae55882..0172fe8 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbookEditorsHandler.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbookEditorsHandler.java
@@ -109,7 +109,7 @@
 			searchPattern = null;
 		} else {
 			SearchPattern patternMatcher = new SearchPattern();
-			patternMatcher.setPattern("*" + pattern); //$NON-NLS-1$
+			patternMatcher.setPattern(pattern);
 			searchPattern = patternMatcher;
 		}
 	}
@@ -199,6 +199,10 @@
 				String matchName = null;
 				if (element instanceof EditorReference) {
 					matchName = ((EditorReference) element).getTitle();
+					// skips dirty editor prefix
+					if (matchName.startsWith("*")) { //$NON-NLS-1$
+						matchName = matchName.substring(1);
+					}
 				}
 				if (matchName == null) {
 					return false;