From 93cdb07d8c802a7224c24317d28ca4ab60771618 Mon Sep 17 00:00:00 2001 From: Doug Schaefer Date: Sat, 27 Feb 2016 20:15:07 -0500 Subject: [PATCH] Do a stop launch when doing a launch active. Remote fixes. This is the first step towards cleaning up the actions. Also make sure teh remote target provider only acts on remotes of the type it's associated with. Change-Id: Ifb2e39620e7d62b075c3d18dd338694071dc5720 --- .../core/RemoteLaunchTargetProvider.java | 20 ++++++++++--------- .../commands/LaunchActiveCommandHandler.java | 1 + .../commands/StopActiveCommandHandler.java | 15 ++++++-------- 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/bundles/org.eclipse.launchbar.remote.core/src/org/eclipse/launchbar/remote/core/RemoteLaunchTargetProvider.java b/bundles/org.eclipse.launchbar.remote.core/src/org/eclipse/launchbar/remote/core/RemoteLaunchTargetProvider.java index be61188f102..1f5275e9053 100644 --- a/bundles/org.eclipse.launchbar.remote.core/src/org/eclipse/launchbar/remote/core/RemoteLaunchTargetProvider.java +++ b/bundles/org.eclipse.launchbar.remote.core/src/org/eclipse/launchbar/remote/core/RemoteLaunchTargetProvider.java @@ -71,16 +71,18 @@ public abstract class RemoteLaunchTargetProvider implements ILaunchTargetProvide @Override public void connectionChanged(RemoteConnectionChangeEvent event) { IRemoteConnection connection = event.getConnection(); - switch (event.getType()) { - case RemoteConnectionChangeEvent.CONNECTION_ADDED: - targetManager.addLaunchTarget(getTypeId(), connection.getName()); - break; - case RemoteConnectionChangeEvent.CONNECTION_REMOVED: - ILaunchTarget target = targetManager.getLaunchTarget(getTypeId(), connection.getName()); - if (target != null) { - targetManager.removeLaunchTarget(target); + if (connection.getConnectionType().getId().equals(getTypeId())) { + switch (event.getType()) { + case RemoteConnectionChangeEvent.CONNECTION_ADDED: + targetManager.addLaunchTarget(getTypeId(), connection.getName()); + break; + case RemoteConnectionChangeEvent.CONNECTION_REMOVED: + ILaunchTarget target = targetManager.getLaunchTarget(getTypeId(), connection.getName()); + if (target != null) { + targetManager.removeLaunchTarget(target); + } + break; } - break; } } diff --git a/bundles/org.eclipse.launchbar.ui/src/org/eclipse/launchbar/ui/internal/commands/LaunchActiveCommandHandler.java b/bundles/org.eclipse.launchbar.ui/src/org/eclipse/launchbar/ui/internal/commands/LaunchActiveCommandHandler.java index 78e91221edd..25e954978d6 100644 --- a/bundles/org.eclipse.launchbar.ui/src/org/eclipse/launchbar/ui/internal/commands/LaunchActiveCommandHandler.java +++ b/bundles/org.eclipse.launchbar.ui/src/org/eclipse/launchbar/ui/internal/commands/LaunchActiveCommandHandler.java @@ -27,6 +27,7 @@ public class LaunchActiveCommandHandler extends AbstractHandler { public Object execute(ExecutionEvent event) throws ExecutionException { try { LaunchBarManager launchBarManager = Activator.getDefault().getLaunchBarUIManager().getManager(); + StopActiveCommandHandler.stopActiveLaunches(launchBarManager); ILaunchConfiguration config = launchBarManager.getActiveLaunchConfiguration(); if (config == null) return Status.OK_STATUS; diff --git a/bundles/org.eclipse.launchbar.ui/src/org/eclipse/launchbar/ui/internal/commands/StopActiveCommandHandler.java b/bundles/org.eclipse.launchbar.ui/src/org/eclipse/launchbar/ui/internal/commands/StopActiveCommandHandler.java index f6a6c3fb1f3..bc7dd66af10 100644 --- a/bundles/org.eclipse.launchbar.ui/src/org/eclipse/launchbar/ui/internal/commands/StopActiveCommandHandler.java +++ b/bundles/org.eclipse.launchbar.ui/src/org/eclipse/launchbar/ui/internal/commands/StopActiveCommandHandler.java @@ -29,11 +29,6 @@ import org.eclipse.launchbar.ui.internal.Activator; import org.eclipse.launchbar.ui.internal.Messages; public class StopActiveCommandHandler extends AbstractHandler { - private LaunchBarManager launchBarManager; - - public StopActiveCommandHandler() { - launchBarManager = Activator.getDefault().getLaunchBarUIManager().getManager(); - } @Override public Object execute(ExecutionEvent event) throws ExecutionException { @@ -43,10 +38,10 @@ public class StopActiveCommandHandler extends AbstractHandler { public void stop() { stopBuild(); - stopActiveLaunches(); + stopActiveLaunches(Activator.getDefault().getLaunchBarUIManager().getManager()); } - protected void stopActiveLaunches() { + static void stopActiveLaunches(LaunchBarManager launchBarManager) { final ILaunch[] activeLaunches = DebugPlugin.getDefault().getLaunchManager().getLaunches(); if (activeLaunches != null && activeLaunches.length > 0) { new Job(Messages.StopActiveCommandHandler_0) { @@ -64,8 +59,10 @@ public class StopActiveCommandHandler extends AbstractHandler { continue; } if (launchConfig instanceof ILaunchConfigurationWorkingCopy) { - // There are evil delegates that use a working copy for scratch storage - if (activeConfig.equals(((ILaunchConfigurationWorkingCopy) launchConfig).getOriginal())) { + // There are evil delegates that use a working + // copy for scratch storage + if (activeConfig + .equals(((ILaunchConfigurationWorkingCopy) launchConfig).getOriginal())) { launch.terminate(); continue; }