Bug 545372 - Replace deprecated HandlerSubmission

Replaced deprecated HandlerSubmission with equivalent handler
activation.

Change-Id: I261cc6b3563070dba99d9d3765bae75e5d60f625
Signed-off-by: Julian Honnen <julian.honnen@vector.com>
diff --git a/bundles/org.eclipse.team.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.team.ui/META-INF/MANIFEST.MF
index bc23e73..a2720af 100644
--- a/bundles/org.eclipse.team.ui/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.team.ui/META-INF/MANIFEST.MF
@@ -30,7 +30,8 @@
  org.eclipse.ui.forms;bundle-version="[3.3.0,4.0.0)",
  org.eclipse.ui.navigator;bundle-version="[3.3.0,4.0.0)",
  org.eclipse.jface.text;bundle-version="[3.3.0,4.0.0)",
- org.eclipse.ui.editors;bundle-version="[3.3.0,4.0.0)"
+ org.eclipse.ui.editors;bundle-version="[3.3.0,4.0.0)",
+ org.eclipse.core.expressions;bundle-version="[3.6.0,4.0.0)"
 Bundle-ActivationPolicy: lazy
 Import-Package: com.ibm.icu.text,
  com.ibm.icu.util
diff --git a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/DialogSynchronizePageSite.java b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/DialogSynchronizePageSite.java
index debc26f..fd1c315 100644
--- a/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/DialogSynchronizePageSite.java
+++ b/bundles/org.eclipse.team.ui/src/org/eclipse/team/internal/ui/synchronize/DialogSynchronizePageSite.java
@@ -14,13 +14,15 @@
 package org.eclipse.team.internal.ui.synchronize;
 
 import java.util.ArrayList;
-import java.util.Iterator;
 import java.util.List;
 
+import org.eclipse.core.commands.IHandler;
+import org.eclipse.core.expressions.Expression;
 import org.eclipse.jface.action.IAction;
 import org.eclipse.jface.action.IMenuManager;
 import org.eclipse.jface.action.IStatusLineManager;
 import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.commands.ActionHandler;
 import org.eclipse.jface.dialogs.IDialogSettings;
 import org.eclipse.jface.viewers.ISelectionProvider;
 import org.eclipse.swt.widgets.Shell;
@@ -29,12 +31,10 @@
 import org.eclipse.ui.IKeyBindingService;
 import org.eclipse.ui.IWorkbenchPart;
 import org.eclipse.ui.IWorkbenchSite;
+import org.eclipse.ui.LegacyHandlerSubmissionExpression;
 import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.commands.ActionHandler;
-import org.eclipse.ui.commands.HandlerSubmission;
-import org.eclipse.ui.commands.IHandler;
-import org.eclipse.ui.commands.IWorkbenchCommandSupport;
-import org.eclipse.ui.commands.Priority;
+import org.eclipse.ui.handlers.IHandlerActivation;
+import org.eclipse.ui.handlers.IHandlerService;
 import org.eclipse.ui.services.IServiceLocator;
 
 /**
@@ -48,7 +48,7 @@
 	private final boolean isModal;
 	// Keybindings enabled in the dialog, these should be removed
 	// when the dialog is closed.
-	private List<HandlerSubmission> actionHandlers = new ArrayList<>(2);
+	private List<IHandlerActivation> actionHandlers = new ArrayList<>(2);
 
 	/**
 	 * Create a site for use in a dialog
@@ -139,9 +139,9 @@
 				public void setGlobalActionHandler(String actionId, IAction action) {
 					if (actionId != null && !"".equals(actionId)) { //$NON-NLS-1$
 						IHandler handler = new ActionHandler(action);
-						HandlerSubmission handlerSubmission = new HandlerSubmission(null, shell, null, actionId, handler, Priority.MEDIUM);
-						PlatformUI.getWorkbench().getCommandSupport().addHandlerSubmission(handlerSubmission);
-						actionHandlers.add(handlerSubmission);
+						Expression expression = new LegacyHandlerSubmissionExpression(null, shell, null);
+						IHandlerService handlerService = PlatformUI.getWorkbench().getService(IHandlerService.class);
+						actionHandlers.add(handlerService.activateHandler(actionId, handler, expression));
 					}
 				}
 
@@ -160,10 +160,7 @@
 	 * Cleanup when the dialog is closed
 	 */
 	public void dispose() {
-		IWorkbenchCommandSupport cm = PlatformUI.getWorkbench().getCommandSupport();
-		for (Iterator it = actionHandlers.iterator(); it.hasNext();) {
-			HandlerSubmission handler = (HandlerSubmission) it.next();
-			cm.removeHandlerSubmission(handler);
-		}
+		IHandlerService handlerService = PlatformUI.getWorkbench().getService(IHandlerService.class);
+		actionHandlers.forEach(handlerService::deactivateHandler);
 	}
 }
\ No newline at end of file