Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/NewConnectionHandler.java')
-rw-r--r--lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/NewConnectionHandler.java97
1 files changed, 7 insertions, 90 deletions
diff --git a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/NewConnectionHandler.java b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/NewConnectionHandler.java
index 04bfccea7a..d7da522a23 100644
--- a/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/NewConnectionHandler.java
+++ b/lttng/org.eclipse.linuxtools.lttng2.control.ui/src/org/eclipse/linuxtools/internal/lttng2/control/ui/views/handlers/NewConnectionHandler.java
@@ -9,29 +9,19 @@
* Contributors:
* Bernd Hufmann - Initial API and implementation
* Anna Dushistova(Montavista) - [382684] Allow reusing already defined connections that have Files and Shells subsystems
+ * Markus Schorn - Bug 448058: Use org.eclipse.remote in favor of RSE
**********************************************************************/
package org.eclipse.linuxtools.internal.lttng2.control.ui.views.handlers;
-import java.util.ArrayList;
-import java.util.Arrays;
-
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.window.Window;
import org.eclipse.linuxtools.internal.lttng2.control.ui.views.ControlView;
import org.eclipse.linuxtools.internal.lttng2.control.ui.views.dialogs.INewConnectionDialog;
import org.eclipse.linuxtools.internal.lttng2.control.ui.views.dialogs.TraceControlDialogFactory;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.messages.Messages;
import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.ITraceControlComponent;
import org.eclipse.linuxtools.internal.lttng2.control.ui.views.model.impl.TargetNodeComponent;
-import org.eclipse.linuxtools.internal.lttng2.control.ui.views.remote.IRemoteSystemProxy;
-import org.eclipse.rse.core.IRSESystemType;
-import org.eclipse.rse.core.RSECorePlugin;
-import org.eclipse.rse.core.model.IHost;
-import org.eclipse.rse.core.model.ISystemRegistry;
-import org.eclipse.rse.core.subsystems.ISubSystem;
-import org.eclipse.rse.subsystems.files.core.servicesubsystem.IFileServiceSubSystem;
+import org.eclipse.remote.core.IRemoteConnection;
import org.eclipse.ui.IWorkbenchPage;
import org.eclipse.ui.IWorkbenchPart;
import org.eclipse.ui.IWorkbenchWindow;
@@ -47,15 +37,6 @@ import org.eclipse.ui.PlatformUI;
public class NewConnectionHandler extends BaseControlViewHandler {
// ------------------------------------------------------------------------
- // Constants
- // ------------------------------------------------------------------------
-
- /**
- * The trace control system type defined for LTTng version 2.0 and later.
- */
- public static final String TRACE_CONTROL_SYSTEM_TYPE = "org.eclipse.linuxtools.internal.lttng2.ui.control.systemType"; //$NON-NLS-1$
-
- // ------------------------------------------------------------------------
// Attributes
// ------------------------------------------------------------------------
@@ -73,68 +54,24 @@ public class NewConnectionHandler extends BaseControlViewHandler {
return false;
}
- ISystemRegistry registry = RSECorePlugin.getTheSystemRegistry();
-
- // get system type definition for LTTng 2.x connection
- IRSESystemType sysType = RSECorePlugin.getTheCoreRegistry().getSystemTypeById(TRACE_CONTROL_SYSTEM_TYPE);
-
- // get all hosts for this system type
- IHost[] hosts = getSuitableHosts();
-
// Open dialog box for the node name and address
final INewConnectionDialog dialog = TraceControlDialogFactory.getInstance().getNewConnectionDialog();
- dialog.setTraceControlParent(fRoot);
- dialog.setHosts(hosts);
- dialog.setPort(IRemoteSystemProxy.INVALID_PORT_NUMBER);
if (dialog.open() != Window.OK) {
return null;
}
- String hostName = dialog.getConnectionName();
- String hostAddress = dialog.getHostName();
- int port = dialog.getPort();
-
- // get the singleton RSE registry
- IHost host = null;
-
- for (int i = 0; i < hosts.length; i++) {
- if (hosts[i].getAliasName().equals(hostName)) {
- host = hosts[i];
- break;
- }
- }
-
- if (host == null) {
- // if there's no host then we will create it
- try {
- // create the host object as an SSH Only connection
- host = registry.createHost(
- sysType, //System Type Name
- hostName, //Connection name
- hostAddress, //IP Address
- "Connection to Host"); //description //$NON-NLS-1$
- }
- catch (Exception e) {
- MessageDialog.openError(window.getShell(),
- Messages.TraceControl_EclipseCommandFailure,
- Messages.TraceControl_NewNodeCreationFailure + " (" + hostName + ", " + hostAddress + ")" + ":\n" + e.toString()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- return null;
- }
- }
-
+ IRemoteConnection host = dialog.getConnection();
if (host != null) {
fLock.lock();
try {
// successful creation of host
TargetNodeComponent node = null;
- if (!fRoot.containsChild(hostName)) {
- node = new TargetNodeComponent(hostName, fRoot, host);
- node.setPort(port);
+ if (!fRoot.containsChild(host.getName())) {
+ node = new TargetNodeComponent(host.getName(), fRoot, host);
fRoot.addChild(node);
- }
- else {
- node = (TargetNodeComponent)fRoot.getChild(hostName);
+ } else {
+ node = (TargetNodeComponent)fRoot.getChild(host.getName());
}
node.connect();
@@ -145,26 +82,6 @@ public class NewConnectionHandler extends BaseControlViewHandler {
return null;
}
- private static IHost[] getSuitableHosts() {
- // need shells and files
- ArrayList<IHost> result = new ArrayList<>();
- ArrayList<IHost> shellConnections = new ArrayList<>(
- Arrays.asList(RSECorePlugin.getTheSystemRegistry()
- .getHostsBySubSystemConfigurationCategory("shells"))); //$NON-NLS-1$
-
- for (IHost connection : shellConnections) {
- ISubSystem[] subSystems = connection.getSubSystems();
- for (int i = 0; i < subSystems.length; i++) {
- if (subSystems[i] instanceof IFileServiceSubSystem) {
- result.add(connection);
- break;
- }
- }
- }
-
- return result.toArray(new IHost[result.size()]);
- }
-
@Override
public boolean isEnabled() {

Back to the top