[538129] Control Project Explorer filters and content through preferences

Configure ListHandlerFactories for ProjectExplorer preferences.

Also fixes a broken key pattern in cases where no key/value pairs are
used (pattern needs a match group to work)

Change-Id: If3a2578291497ba0f8768e4a2c97961c861be891
Signed-off-by: Carsten Reckord <reckord@yatta.de>
diff --git a/plugins/org.eclipse.oomph.setup/src/org/eclipse/oomph/setup/impl/PreferenceTaskImpl.java b/plugins/org.eclipse.oomph.setup/src/org/eclipse/oomph/setup/impl/PreferenceTaskImpl.java
index bc8475f..16ca6f8 100644
--- a/plugins/org.eclipse.oomph.setup/src/org/eclipse/oomph/setup/impl/PreferenceTaskImpl.java
+++ b/plugins/org.eclipse.oomph.setup/src/org/eclipse/oomph/setup/impl/PreferenceTaskImpl.java
@@ -797,7 +797,7 @@
     {
       final String itemSeparatorStr = new String(new char[] { itemSeparator });
       final String itemPattern = "([^" + itemSeparatorStr + "]+)";
-      final String keyPattern = keySeparator == (char)0 ? ".*" : "([^" + new String(new char[] { keySeparator }) + "]+)";
+      final String keyPattern = keySeparator == (char)0 ? "(.*)" : "([^" + new String(new char[] { keySeparator }) + "]+)";
 
       PreferenceHandlerFactoryRegistry registry = (PreferenceHandlerFactoryRegistry)Factory.Registry.INSTANCE;
       registry.put(URI.createURI(key), new Factory()
@@ -826,6 +826,8 @@
       });
 
       registerListHandlerFactory("//instance/org.eclipse.ui.workbench/ENABLED_DECORATORS", ',', ':');
+      registerListHandlerFactory("//instance/org.eclipse.ui.navigator/org.eclipse.ui.navigator.ProjectExplorer.activatedExtensions", ';', '=');
+      registerListHandlerFactory("//instance/org.eclipse.ui.navigator/org.eclipse.ui.navigator.ProjectExplorer.filterActivation", ':');
 
       // See Javadoc on PreferenceHandler:
       // registerListHandlerFactory("//instance/org.eclipse.jdt.ui/org.eclipse.jdt.ui.typefilter.disabled", ';');