mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-08-03 14:25:37 +02:00
Migrate CDT provided connectors to the new API
This commit is contained in:
parent
c63f988d5c
commit
26f3505346
19 changed files with 107 additions and 148 deletions
|
@ -32,17 +32,7 @@
|
|||
</license>
|
||||
|
||||
<requires>
|
||||
<import plugin="org.eclipse.ui"/>
|
||||
<import plugin="org.eclipse.core.runtime"/>
|
||||
<import plugin="org.eclipse.tm.terminal.control"/>
|
||||
<import plugin="org.eclipse.remote.core"/>
|
||||
<import plugin="org.eclipse.remote.ui"/>
|
||||
<import plugin="org.eclipse.core.resources"/>
|
||||
<import plugin="org.eclipse.swt"/>
|
||||
<import plugin="org.eclipse.jface"/>
|
||||
<import plugin="org.eclipse.ui.ide"/>
|
||||
<import feature="org.eclipse.tm.terminal.control.feature"/>
|
||||
<import plugin="org.eclipse.core.expressions"/>
|
||||
</requires>
|
||||
|
||||
<plugin
|
||||
|
|
|
@ -2,15 +2,12 @@ Manifest-Version: 1.0
|
|||
Bundle-ManifestVersion: 2
|
||||
Bundle-Name: %pluginName
|
||||
Bundle-SymbolicName: org.eclipse.tm.terminal.connector.cdtserial;singleton:=true
|
||||
Bundle-Version: 4.8.300.qualifier
|
||||
Bundle-Version: 5.0.0.qualifier
|
||||
Bundle-Activator: org.eclipse.tm.terminal.connector.cdtserial.activator.Activator
|
||||
Bundle-Vendor: %providerName
|
||||
Require-Bundle: org.eclipse.core.expressions;bundle-version="[3.9.400,4)",
|
||||
org.eclipse.core.runtime;bundle-version="[3.33.0,4)",
|
||||
org.eclipse.equinox.security;bundle-version="[1.4.600,2)",
|
||||
org.eclipse.tm.terminal.view.core;bundle-version="[4.10.400,5)";resolution:=optional,
|
||||
org.eclipse.tm.terminal.view.ui;bundle-version="[4.11.600,5)";resolution:=optional,
|
||||
org.eclipse.tm.terminal.control;bundle-version="[5.6.0,6.0.0)",
|
||||
org.eclipse.ui;bundle-version="[3.207.200,4)",
|
||||
org.eclipse.cdt.native.serial;bundle-version="[12.2.0,13)"
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-17
|
||||
|
@ -22,3 +19,8 @@ Export-Package: org.eclipse.tm.terminal.connector.cdtserial.activator;x-internal
|
|||
org.eclipse.tm.terminal.connector.cdtserial.launcher,
|
||||
org.eclipse.tm.terminal.connector.cdtserial.nls;x-internal:=true
|
||||
Automatic-Module-Name: org.eclipse.tm.terminal.connector.cdtserial
|
||||
Import-Package: org.eclipse.terminal.connector;version="[1.0.0,2.0.0)",
|
||||
org.eclipse.terminal.connector.provider;version="[1.0.0,2.0.0)",
|
||||
org.eclipse.terminal.view.core;version="[1.0.0,2.0.0)",
|
||||
org.eclipse.terminal.view.core.utils;version="[1.0.0,2.0.0)",
|
||||
org.eclipse.terminal.view.ui.launcher;version="[1.0.0,2.0.0)"
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
<plugin>
|
||||
|
||||
<!-- Terminal connector contributions -->
|
||||
<extension point="org.eclipse.tm.terminal.control.connectors">
|
||||
<extension point="org.eclipse.terminal.control.connectors">
|
||||
<connector
|
||||
name="%SerialConnector.label"
|
||||
id="org.eclipse.tm.terminal.connector.cdtserial.SerialConnector"
|
||||
|
@ -21,7 +21,7 @@
|
|||
</extension>
|
||||
|
||||
<!-- Terminal launcher delegate contributions -->
|
||||
<extension point="org.eclipse.tm.terminal.view.ui.launcherDelegates">
|
||||
<extension point="org.eclipse.terminal.view.ui.launcherDelegates">
|
||||
<delegate
|
||||
class="org.eclipse.tm.terminal.connector.cdtserial.launcher.SerialLauncherDelegate"
|
||||
id="org.eclipse.tm.terminal.connector.cdtserial.launcher.serial"
|
||||
|
|
|
@ -18,7 +18,7 @@ import org.eclipse.core.runtime.Status;
|
|||
import org.eclipse.jface.resource.ImageDescriptor;
|
||||
import org.eclipse.jface.resource.ImageRegistry;
|
||||
import org.eclipse.swt.graphics.Image;
|
||||
import org.eclipse.tm.terminal.view.core.tracing.TraceHandler;
|
||||
import org.eclipse.terminal.view.core.utils.TraceHandler;
|
||||
import org.eclipse.ui.plugin.AbstractUIPlugin;
|
||||
import org.osgi.framework.BundleContext;
|
||||
|
||||
|
|
|
@ -20,14 +20,14 @@ import java.util.Set;
|
|||
|
||||
import org.eclipse.cdt.serial.SerialPort;
|
||||
import org.eclipse.osgi.util.NLS;
|
||||
import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore;
|
||||
import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl;
|
||||
import org.eclipse.tm.internal.terminal.provisional.api.TerminalState;
|
||||
import org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl;
|
||||
import org.eclipse.terminal.connector.ISettingsStore;
|
||||
import org.eclipse.terminal.connector.ITerminalControl;
|
||||
import org.eclipse.terminal.connector.TerminalState;
|
||||
import org.eclipse.terminal.connector.provider.AbstractTerminalConnector;
|
||||
import org.eclipse.tm.terminal.connector.cdtserial.activator.Activator;
|
||||
import org.eclipse.tm.terminal.connector.cdtserial.nls.Messages;
|
||||
|
||||
public class SerialConnector extends TerminalConnectorImpl {
|
||||
public class SerialConnector extends AbstractTerminalConnector {
|
||||
|
||||
private SerialSettings settings = new SerialSettings();
|
||||
SerialPort serialPort;
|
||||
|
|
|
@ -17,7 +17,7 @@ import org.eclipse.cdt.serial.ByteSize;
|
|||
import org.eclipse.cdt.serial.Parity;
|
||||
import org.eclipse.cdt.serial.StandardBaudRates;
|
||||
import org.eclipse.cdt.serial.StopBits;
|
||||
import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore;
|
||||
import org.eclipse.terminal.connector.ISettingsStore;
|
||||
|
||||
public class SerialSettings {
|
||||
|
||||
|
@ -35,6 +35,7 @@ public class SerialSettings {
|
|||
|
||||
/**
|
||||
* Load information into the RemoteSettings object.
|
||||
* @since 5
|
||||
*/
|
||||
public void load(ISettingsStore store) {
|
||||
portName = store.get(PORT_NAME_ATTR, ""); //$NON-NLS-1$
|
||||
|
@ -91,6 +92,7 @@ public class SerialSettings {
|
|||
|
||||
/**
|
||||
* Extract information from the RemoteSettings object.
|
||||
* @since 5
|
||||
*/
|
||||
public void save(ISettingsStore store) {
|
||||
store.put(PORT_NAME_ATTR, portName);
|
||||
|
@ -108,14 +110,6 @@ public class SerialSettings {
|
|||
this.portName = portName;
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated Use {@link #getBaudRateValue()}
|
||||
*/
|
||||
@Deprecated
|
||||
public BaudRate getBaudRate() {
|
||||
return BaudRate.getClosest(baudRate);
|
||||
}
|
||||
|
||||
/**
|
||||
* @since 4.7
|
||||
*/
|
||||
|
|
|
@ -21,17 +21,22 @@ import org.eclipse.swt.SWT;
|
|||
import org.eclipse.swt.layout.GridData;
|
||||
import org.eclipse.swt.layout.GridLayout;
|
||||
import org.eclipse.swt.widgets.Composite;
|
||||
import org.eclipse.terminal.view.core.ITerminalsConnectorConstants;
|
||||
import org.eclipse.terminal.view.ui.launcher.AbstractExtendedConfigurationPanel;
|
||||
import org.eclipse.terminal.view.ui.launcher.IConfigurationPanelContainer;
|
||||
import org.eclipse.tm.terminal.connector.cdtserial.connector.SerialConnector;
|
||||
import org.eclipse.tm.terminal.connector.cdtserial.connector.SerialSettings;
|
||||
import org.eclipse.tm.terminal.view.core.interfaces.constants.ITerminalsConnectorConstants;
|
||||
import org.eclipse.tm.terminal.view.ui.interfaces.IConfigurationPanelContainer;
|
||||
import org.eclipse.tm.terminal.view.ui.panels.AbstractExtendedConfigurationPanel;
|
||||
|
||||
public class SerialConfigPanel extends AbstractExtendedConfigurationPanel {
|
||||
|
||||
private SerialSettings settings;
|
||||
private SerialSettingsPage page;
|
||||
|
||||
/**
|
||||
*
|
||||
* @param container
|
||||
* @since 5
|
||||
*/
|
||||
public SerialConfigPanel(IConfigurationPanelContainer container) {
|
||||
super(container);
|
||||
}
|
||||
|
|
|
@ -29,13 +29,13 @@ import org.eclipse.swt.layout.GridLayout;
|
|||
import org.eclipse.swt.widgets.Combo;
|
||||
import org.eclipse.swt.widgets.Composite;
|
||||
import org.eclipse.swt.widgets.Label;
|
||||
import org.eclipse.tm.internal.terminal.provisional.api.AbstractSettingsPage;
|
||||
import org.eclipse.terminal.connector.AbstractSettingsPage;
|
||||
import org.eclipse.terminal.view.ui.launcher.IConfigurationPanel;
|
||||
import org.eclipse.terminal.view.ui.launcher.IConfigurationPanelContainer;
|
||||
import org.eclipse.tm.terminal.connector.cdtserial.activator.Activator;
|
||||
import org.eclipse.tm.terminal.connector.cdtserial.connector.SerialConnector;
|
||||
import org.eclipse.tm.terminal.connector.cdtserial.connector.SerialSettings;
|
||||
import org.eclipse.tm.terminal.connector.cdtserial.nls.Messages;
|
||||
import org.eclipse.tm.terminal.view.ui.interfaces.IConfigurationPanel;
|
||||
import org.eclipse.tm.terminal.view.ui.interfaces.IConfigurationPanelContainer;
|
||||
|
||||
public class SerialSettingsPage extends AbstractSettingsPage {
|
||||
|
||||
|
@ -55,6 +55,12 @@ public class SerialSettingsPage extends AbstractSettingsPage {
|
|||
private Parity parity;
|
||||
private StopBits stopBits;
|
||||
|
||||
/**
|
||||
*
|
||||
* @param settings
|
||||
* @param panel
|
||||
* @since 5
|
||||
*/
|
||||
public SerialSettingsPage(SerialSettings settings, IConfigurationPanel panel) {
|
||||
this.settings = settings;
|
||||
this.panel = panel;
|
||||
|
|
|
@ -13,24 +13,24 @@
|
|||
package org.eclipse.tm.terminal.connector.cdtserial.launcher;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
|
||||
import org.eclipse.cdt.serial.ByteSize;
|
||||
import org.eclipse.cdt.serial.Parity;
|
||||
import org.eclipse.cdt.serial.StopBits;
|
||||
import org.eclipse.core.runtime.Assert;
|
||||
import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore;
|
||||
import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector;
|
||||
import org.eclipse.tm.internal.terminal.provisional.api.TerminalConnectorExtension;
|
||||
import org.eclipse.core.runtime.CoreException;
|
||||
import org.eclipse.terminal.connector.ISettingsStore;
|
||||
import org.eclipse.terminal.connector.ITerminalConnector;
|
||||
import org.eclipse.terminal.connector.InMemorySettingsStore;
|
||||
import org.eclipse.terminal.connector.TerminalConnectorExtension;
|
||||
import org.eclipse.terminal.view.core.ITerminalService;
|
||||
import org.eclipse.terminal.view.core.ITerminalsConnectorConstants;
|
||||
import org.eclipse.terminal.view.ui.launcher.AbstractLauncherDelegate;
|
||||
import org.eclipse.terminal.view.ui.launcher.IConfigurationPanel;
|
||||
import org.eclipse.terminal.view.ui.launcher.IConfigurationPanelContainer;
|
||||
import org.eclipse.tm.terminal.connector.cdtserial.connector.SerialSettings;
|
||||
import org.eclipse.tm.terminal.connector.cdtserial.controls.SerialConfigPanel;
|
||||
import org.eclipse.tm.terminal.view.core.TerminalServiceFactory;
|
||||
import org.eclipse.tm.terminal.view.core.interfaces.ITerminalService;
|
||||
import org.eclipse.tm.terminal.view.core.interfaces.ITerminalService.Done;
|
||||
import org.eclipse.tm.terminal.view.core.interfaces.constants.ITerminalsConnectorConstants;
|
||||
import org.eclipse.tm.terminal.view.ui.interfaces.IConfigurationPanel;
|
||||
import org.eclipse.tm.terminal.view.ui.interfaces.IConfigurationPanelContainer;
|
||||
import org.eclipse.tm.terminal.view.ui.internal.SettingsStore;
|
||||
import org.eclipse.tm.terminal.view.ui.launcher.AbstractLauncherDelegate;
|
||||
|
||||
public class SerialLauncherDelegate extends AbstractLauncherDelegate {
|
||||
|
||||
|
@ -45,7 +45,7 @@ public class SerialLauncherDelegate extends AbstractLauncherDelegate {
|
|||
}
|
||||
|
||||
@Override
|
||||
public ITerminalConnector createTerminalConnector(Map<String, Object> properties) {
|
||||
public ITerminalConnector createTerminalConnector(Map<String, Object> properties) throws CoreException {
|
||||
Assert.isNotNull(properties);
|
||||
|
||||
// Check for the terminal connector id
|
||||
|
@ -63,23 +63,20 @@ public class SerialLauncherDelegate extends AbstractLauncherDelegate {
|
|||
settings.setStopBits((StopBits) properties.get(SerialSettings.STOP_BITS_ATTR));
|
||||
|
||||
// Construct the terminal settings store
|
||||
ISettingsStore store = new SettingsStore();
|
||||
ISettingsStore store = new InMemorySettingsStore();
|
||||
settings.save(store);
|
||||
|
||||
// Construct the terminal connector instance
|
||||
ITerminalConnector connector = TerminalConnectorExtension.makeTerminalConnector(connectorId);
|
||||
if (connector != null) {
|
||||
// Apply default settings
|
||||
connector.setDefaultSettings();
|
||||
// And load the real settings
|
||||
connector.load(store);
|
||||
}
|
||||
|
||||
// Apply default settings
|
||||
connector.setDefaultSettings();
|
||||
// And load the real settings
|
||||
connector.load(store);
|
||||
return connector;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void execute(Map<String, Object> properties, Done done) {
|
||||
public CompletableFuture<?> execute(Map<String, Object> properties) {
|
||||
Assert.isNotNull(properties);
|
||||
|
||||
// Set the terminal tab title
|
||||
|
@ -93,11 +90,8 @@ public class SerialLauncherDelegate extends AbstractLauncherDelegate {
|
|||
}
|
||||
|
||||
// Get the terminal service
|
||||
ITerminalService terminal = TerminalServiceFactory.getService();
|
||||
// If not available, we cannot fulfill this request
|
||||
if (terminal != null) {
|
||||
terminal.openConsole(properties, done);
|
||||
}
|
||||
ITerminalService terminal = getTerminalService();
|
||||
return terminal.openConsole(properties);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -2,20 +2,17 @@ Manifest-Version: 1.0
|
|||
Bundle-ManifestVersion: 2
|
||||
Bundle-Name: %pluginName
|
||||
Bundle-SymbolicName: org.eclipse.tm.terminal.connector.remote;singleton:=true
|
||||
Bundle-Version: 4.8.600.qualifier
|
||||
Bundle-Version: 5.0.0.qualifier
|
||||
Bundle-Vendor: %providerName
|
||||
Bundle-Localization: plugin
|
||||
Require-Bundle: org.eclipse.ui;bundle-version="[3.207.200,4)",
|
||||
org.eclipse.core.runtime;bundle-version="[3.33.0,4)",
|
||||
org.eclipse.tm.terminal.control;bundle-version="[5.6.0,6.0.0)",
|
||||
org.eclipse.terminal.control;bundle-version="[1.0.0,2.0.0)",
|
||||
org.eclipse.remote.core;bundle-version="[4.2.300,5)",
|
||||
org.eclipse.remote.ui;bundle-version="[2.3.300,3)",
|
||||
org.eclipse.core.resources;bundle-version="[3.22.200,4)",
|
||||
org.eclipse.swt;bundle-version="[3.130.0,4)",
|
||||
org.eclipse.jface;bundle-version="[3.37.0,4)",
|
||||
org.eclipse.tm.terminal.view.core;bundle-version="[4.10.0,5)";resolution:=optional,
|
||||
org.eclipse.tm.terminal.view.ui;bundle-version="[4.11.100,5)";resolution:=optional,
|
||||
org.eclipse.core.expressions;bundle-version="[3.9.400,4)"
|
||||
org.eclipse.jface;bundle-version="[3.37.0,4)"
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-17
|
||||
Export-Package: org.eclipse.tm.terminal.connector.remote,
|
||||
org.eclipse.tm.terminal.connector.remote.controls,
|
||||
|
@ -27,5 +24,8 @@ Bundle-Activator: org.eclipse.tm.terminal.connector.remote.internal.Activator
|
|||
Bundle-ActivationPolicy: lazy
|
||||
Eclipse-LazyStart: true
|
||||
Import-Package: org.eclipse.core.resources,
|
||||
org.eclipse.terminal.view.core;version="[1.0.0,2.0.0)",
|
||||
org.eclipse.terminal.view.ui;version="[1.0.0,2.0.0)",
|
||||
org.eclipse.terminal.view.ui.launcher;version="[1.0.0,2.0.0)",
|
||||
org.eclipse.ui.ide
|
||||
Automatic-Module-Name: org.eclipse.tm.terminal.connector.remote
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
<extension-point id="parsers" name="Terminal Parsers" schema="schema/parsers.exsd"/>
|
||||
|
||||
<!-- Terminal connector contributions -->
|
||||
<extension point="org.eclipse.tm.terminal.control.connectors">
|
||||
<extension point="org.eclipse.terminal.control.connectors">
|
||||
<connector
|
||||
name="%connectionName"
|
||||
id="org.eclipse.tm.terminal.connector.remote.RemoteConnector"
|
||||
|
@ -19,7 +19,7 @@
|
|||
</extension>
|
||||
|
||||
<!-- Terminal launcher delegate contributions -->
|
||||
<extension point="org.eclipse.tm.terminal.view.ui.launcherDelegates">
|
||||
<extension point="org.eclipse.terminal.view.ui.launcherDelegates">
|
||||
<delegate
|
||||
class="org.eclipse.tm.terminal.connector.remote.launcher.RemoteLauncherDelegate"
|
||||
id="org.eclipse.tm.terminal.connector.telnet.launcher.remote"
|
||||
|
@ -36,7 +36,7 @@
|
|||
|
||||
<extension point="org.eclipse.ui.preferencePages">
|
||||
<page
|
||||
category="org.eclipse.tm.terminal.TerminalPreferencePage"
|
||||
category="org.eclipse.terminal.TerminalPreferencePage"
|
||||
class="org.eclipse.tm.terminal.connector.remote.internal.preferences.RemoteTerminalPreferencePage"
|
||||
id="org.eclipse.tm.terminal.remote.page"
|
||||
name="%RemoteTerminalPage.name">
|
||||
|
|
|
@ -19,20 +19,19 @@ import org.eclipse.swt.layout.GridData;
|
|||
import org.eclipse.swt.layout.GridLayout;
|
||||
import org.eclipse.swt.widgets.Composite;
|
||||
import org.eclipse.swt.widgets.Control;
|
||||
import org.eclipse.tm.internal.terminal.provisional.api.AbstractSettingsPage;
|
||||
import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage;
|
||||
import org.eclipse.terminal.connector.AbstractSettingsPage;
|
||||
import org.eclipse.terminal.connector.ISettingsPage;
|
||||
import org.eclipse.terminal.view.core.ITerminalsConnectorConstants;
|
||||
import org.eclipse.terminal.view.ui.launcher.AbstractExtendedConfigurationPanel;
|
||||
import org.eclipse.terminal.view.ui.launcher.IConfigurationPanelContainer;
|
||||
import org.eclipse.tm.terminal.connector.remote.IRemoteSettings;
|
||||
import org.eclipse.tm.terminal.connector.remote.internal.RemoteConnector;
|
||||
import org.eclipse.tm.terminal.connector.remote.internal.RemoteSettings;
|
||||
import org.eclipse.tm.terminal.connector.remote.internal.RemoteSettingsPage;
|
||||
import org.eclipse.tm.terminal.view.core.interfaces.constants.ITerminalsConnectorConstants;
|
||||
import org.eclipse.tm.terminal.view.ui.interfaces.IConfigurationPanelContainer;
|
||||
import org.eclipse.tm.terminal.view.ui.panels.AbstractExtendedConfigurationPanel;
|
||||
|
||||
/**
|
||||
* Remote wizard configuration panel implementation.
|
||||
*/
|
||||
@SuppressWarnings("restriction")
|
||||
public class RemoteWizardConfigurationPanel extends AbstractExtendedConfigurationPanel {
|
||||
|
||||
private RemoteSettings remoteSettings;
|
||||
|
@ -43,6 +42,7 @@ public class RemoteWizardConfigurationPanel extends AbstractExtendedConfiguratio
|
|||
*
|
||||
* @param container
|
||||
* The configuration panel container or <code>null</code>.
|
||||
* @since 5
|
||||
*/
|
||||
public RemoteWizardConfigurationPanel(IConfigurationPanelContainer container) {
|
||||
super(container);
|
||||
|
|
|
@ -122,4 +122,5 @@ public class Activator extends Plugin {
|
|||
final ServiceReference<T> ref = context.getServiceReference(service);
|
||||
return ref != null ? context.getService(ref) : null;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -33,11 +33,11 @@ import org.eclipse.remote.core.IRemoteProcessService;
|
|||
import org.eclipse.remote.core.IRemoteProcessTerminalService;
|
||||
import org.eclipse.remote.core.IRemoteServicesManager;
|
||||
import org.eclipse.remote.core.exception.RemoteConnectionException;
|
||||
import org.eclipse.tm.internal.terminal.control.ITerminalListener3.TerminalTitleRequestor;
|
||||
import org.eclipse.tm.internal.terminal.emulator.VT100Emulator;
|
||||
import org.eclipse.tm.internal.terminal.emulator.VT100TerminalControl;
|
||||
import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl;
|
||||
import org.eclipse.tm.internal.terminal.provisional.api.TerminalState;
|
||||
import org.eclipse.terminal.connector.ITerminalControl;
|
||||
import org.eclipse.terminal.connector.TerminalState;
|
||||
import org.eclipse.terminal.control.TerminalTitleRequestor;
|
||||
import org.eclipse.terminal.internal.emulator.VT100Emulator;
|
||||
import org.eclipse.terminal.internal.emulator.VT100TerminalControl;
|
||||
import org.eclipse.tm.terminal.connector.remote.IRemoteTerminalConstants;
|
||||
import org.eclipse.tm.terminal.connector.remote.IRemoteTerminalParser;
|
||||
import org.eclipse.tm.terminal.connector.remote.nls.Messages;
|
||||
|
|
|
@ -12,15 +12,14 @@ package org.eclipse.tm.terminal.connector.remote.internal;
|
|||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
|
||||
import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore;
|
||||
import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl;
|
||||
import org.eclipse.tm.internal.terminal.provisional.api.NullSettingsStore;
|
||||
import org.eclipse.tm.internal.terminal.provisional.api.TerminalState;
|
||||
import org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl;
|
||||
import org.eclipse.terminal.connector.ISettingsStore;
|
||||
import org.eclipse.terminal.connector.ITerminalControl;
|
||||
import org.eclipse.terminal.connector.NullSettingsStore;
|
||||
import org.eclipse.terminal.connector.TerminalState;
|
||||
import org.eclipse.terminal.connector.provider.AbstractTerminalConnector;
|
||||
import org.eclipse.tm.terminal.connector.remote.IRemoteSettings;
|
||||
|
||||
@SuppressWarnings("restriction")
|
||||
public class RemoteConnector extends TerminalConnectorImpl {
|
||||
public class RemoteConnector extends AbstractTerminalConnector {
|
||||
private OutputStream fOutputStream;
|
||||
private InputStream fInputStream;
|
||||
private RemoteConnectionManager fConnection;
|
||||
|
@ -36,13 +35,6 @@ public class RemoteConnector extends TerminalConnectorImpl {
|
|||
fSettings = settings;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see
|
||||
* org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl#connect(org.eclipse.tm.internal.terminal.
|
||||
* provisional.api.ITerminalControl)
|
||||
*/
|
||||
@Override
|
||||
public void connect(ITerminalControl control) {
|
||||
super.connect(control);
|
||||
|
@ -51,11 +43,6 @@ public class RemoteConnector extends TerminalConnectorImpl {
|
|||
fConnection.schedule();
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl#doDisconnect()
|
||||
*/
|
||||
@Override
|
||||
public synchronized void doDisconnect() {
|
||||
fConnection.cancel();
|
||||
|
@ -65,11 +52,6 @@ public class RemoteConnector extends TerminalConnectorImpl {
|
|||
return fInputStream;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl#getSettingsSummary()
|
||||
*/
|
||||
@Override
|
||||
public String getSettingsSummary() {
|
||||
return fSettings.getSummary();
|
||||
|
@ -84,11 +66,6 @@ public class RemoteConnector extends TerminalConnectorImpl {
|
|||
return fSettings;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl#getTerminalToRemoteStream()
|
||||
*/
|
||||
@Override
|
||||
public OutputStream getTerminalToRemoteStream() {
|
||||
return fOutputStream;
|
||||
|
@ -117,11 +94,6 @@ public class RemoteConnector extends TerminalConnectorImpl {
|
|||
fOutputStream = outputStream;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl#setTerminalSize(int, int)
|
||||
*/
|
||||
@Override
|
||||
public void setTerminalSize(int newWidth, int newHeight) {
|
||||
if (fConnection != null && (newWidth != fWidth || newHeight != fHeight)) {
|
||||
|
|
|
@ -7,10 +7,9 @@
|
|||
*******************************************************************************/
|
||||
package org.eclipse.tm.terminal.connector.remote.internal;
|
||||
|
||||
import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore;
|
||||
import org.eclipse.terminal.connector.ISettingsStore;
|
||||
import org.eclipse.tm.terminal.connector.remote.IRemoteSettings;
|
||||
|
||||
@SuppressWarnings("restriction")
|
||||
public class RemoteSettings implements IRemoteSettings {
|
||||
protected String connectionTypeId;
|
||||
protected String connectionName;
|
||||
|
|
|
@ -21,12 +21,11 @@ import org.eclipse.swt.events.SelectionEvent;
|
|||
import org.eclipse.swt.layout.GridData;
|
||||
import org.eclipse.swt.layout.GridLayout;
|
||||
import org.eclipse.swt.widgets.Composite;
|
||||
import org.eclipse.tm.internal.terminal.provisional.api.AbstractSettingsPage;
|
||||
import org.eclipse.terminal.connector.AbstractSettingsPage;
|
||||
import org.osgi.framework.BundleContext;
|
||||
import org.osgi.framework.FrameworkUtil;
|
||||
import org.osgi.framework.ServiceReference;
|
||||
|
||||
@SuppressWarnings("restriction")
|
||||
public class RemoteSettingsPage extends AbstractSettingsPage {
|
||||
private final RemoteSettings fTerminalSettings;
|
||||
private RemoteConnectionWidget fRemoteConnectionWidget;
|
||||
|
|
|
@ -14,33 +14,33 @@ package org.eclipse.tm.terminal.connector.remote.launcher;
|
|||
import java.text.DateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
|
||||
import org.eclipse.core.runtime.Assert;
|
||||
import org.eclipse.core.runtime.CoreException;
|
||||
import org.eclipse.osgi.util.NLS;
|
||||
import org.eclipse.remote.core.IRemoteConnection;
|
||||
import org.eclipse.remote.core.IRemoteConnectionType;
|
||||
import org.eclipse.remote.core.IRemoteServicesManager;
|
||||
import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore;
|
||||
import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector;
|
||||
import org.eclipse.tm.internal.terminal.provisional.api.TerminalConnectorExtension;
|
||||
import org.eclipse.terminal.connector.ISettingsStore;
|
||||
import org.eclipse.terminal.connector.ITerminalConnector;
|
||||
import org.eclipse.terminal.connector.InMemorySettingsStore;
|
||||
import org.eclipse.terminal.connector.TerminalConnectorExtension;
|
||||
import org.eclipse.terminal.view.core.ITerminalService;
|
||||
import org.eclipse.terminal.view.core.ITerminalsConnectorConstants;
|
||||
import org.eclipse.terminal.view.ui.IMementoHandler;
|
||||
import org.eclipse.terminal.view.ui.launcher.AbstractLauncherDelegate;
|
||||
import org.eclipse.terminal.view.ui.launcher.IConfigurationPanel;
|
||||
import org.eclipse.terminal.view.ui.launcher.IConfigurationPanelContainer;
|
||||
import org.eclipse.tm.terminal.connector.remote.IRemoteSettings;
|
||||
import org.eclipse.tm.terminal.connector.remote.controls.RemoteWizardConfigurationPanel;
|
||||
import org.eclipse.tm.terminal.connector.remote.internal.Activator;
|
||||
import org.eclipse.tm.terminal.connector.remote.internal.RemoteSettings;
|
||||
import org.eclipse.tm.terminal.connector.remote.nls.Messages;
|
||||
import org.eclipse.tm.terminal.view.core.TerminalServiceFactory;
|
||||
import org.eclipse.tm.terminal.view.core.interfaces.ITerminalService;
|
||||
import org.eclipse.tm.terminal.view.core.interfaces.constants.ITerminalsConnectorConstants;
|
||||
import org.eclipse.tm.terminal.view.ui.interfaces.IConfigurationPanel;
|
||||
import org.eclipse.tm.terminal.view.ui.interfaces.IConfigurationPanelContainer;
|
||||
import org.eclipse.tm.terminal.view.ui.interfaces.IMementoHandler;
|
||||
import org.eclipse.tm.terminal.view.ui.internal.SettingsStore;
|
||||
import org.eclipse.tm.terminal.view.ui.launcher.AbstractLauncherDelegate;
|
||||
|
||||
/**
|
||||
* Remote launcher delegate implementation.
|
||||
*/
|
||||
@SuppressWarnings("restriction")
|
||||
public class RemoteLauncherDelegate extends AbstractLauncherDelegate {
|
||||
// The Remote terminal connection memento handler
|
||||
private final IMementoHandler mementoHandler = new RemoteMementoHandler();
|
||||
|
@ -65,7 +65,7 @@ public class RemoteLauncherDelegate extends AbstractLauncherDelegate {
|
|||
* @see org.eclipse.tm.terminal.view.ui.interfaces.ILauncherDelegate#execute(java.util.Map, org.eclipse.tm.terminal.view.core.interfaces.ITerminalService.Done)
|
||||
*/
|
||||
@Override
|
||||
public void execute(Map<String, Object> properties, ITerminalService.Done done) {
|
||||
public CompletableFuture<?> execute(Map<String, Object> properties) {
|
||||
Assert.isNotNull(properties);
|
||||
|
||||
// Set the terminal tab title
|
||||
|
@ -81,11 +81,9 @@ public class RemoteLauncherDelegate extends AbstractLauncherDelegate {
|
|||
}
|
||||
|
||||
// Get the terminal service
|
||||
ITerminalService terminal = TerminalServiceFactory.getService();
|
||||
ITerminalService terminal = getTerminalService();
|
||||
// If not available, we cannot fulfill this request
|
||||
if (terminal != null) {
|
||||
terminal.openConsole(properties, done);
|
||||
}
|
||||
return terminal.openConsole(properties);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -128,7 +126,7 @@ public class RemoteLauncherDelegate extends AbstractLauncherDelegate {
|
|||
* @see org.eclipse.tm.terminal.view.ui.interfaces.ILauncherDelegate#createTerminalConnector(java.util.Map)
|
||||
*/
|
||||
@Override
|
||||
public ITerminalConnector createTerminalConnector(Map<String, Object> properties) {
|
||||
public ITerminalConnector createTerminalConnector(Map<String, Object> properties) throws CoreException {
|
||||
Assert.isNotNull(properties);
|
||||
|
||||
// Check for the terminal connector id
|
||||
|
@ -142,7 +140,7 @@ public class RemoteLauncherDelegate extends AbstractLauncherDelegate {
|
|||
String connName = (String) properties.get(IRemoteSettings.CONNECTION_NAME);
|
||||
|
||||
// Construct the terminal settings store
|
||||
ISettingsStore store = new SettingsStore();
|
||||
ISettingsStore store = new InMemorySettingsStore();
|
||||
|
||||
// Construct the remote settings
|
||||
RemoteSettings remoteSettings = new RemoteSettings();
|
||||
|
@ -153,12 +151,10 @@ public class RemoteLauncherDelegate extends AbstractLauncherDelegate {
|
|||
|
||||
// Construct the terminal connector instance
|
||||
ITerminalConnector connector = TerminalConnectorExtension.makeTerminalConnector(connectorId);
|
||||
if (connector != null) {
|
||||
// Apply default settings
|
||||
connector.setDefaultSettings();
|
||||
// And load the real settings
|
||||
connector.load(store);
|
||||
}
|
||||
// Apply default settings
|
||||
connector.setDefaultSettings();
|
||||
// And load the real settings
|
||||
connector.load(store);
|
||||
|
||||
if (!properties.containsKey(ITerminalsConnectorConstants.PROP_ENCODING)) {
|
||||
IRemoteServicesManager svcMgr = Activator.getService(IRemoteServicesManager.class);
|
||||
|
@ -177,4 +173,5 @@ public class RemoteLauncherDelegate extends AbstractLauncherDelegate {
|
|||
|
||||
return connector;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -14,9 +14,9 @@ package org.eclipse.tm.terminal.connector.remote.launcher;
|
|||
import java.util.Map;
|
||||
|
||||
import org.eclipse.core.runtime.Assert;
|
||||
import org.eclipse.terminal.view.core.ITerminalsConnectorConstants;
|
||||
import org.eclipse.terminal.view.ui.IMementoHandler;
|
||||
import org.eclipse.tm.terminal.connector.remote.IRemoteSettings;
|
||||
import org.eclipse.tm.terminal.view.core.interfaces.constants.ITerminalsConnectorConstants;
|
||||
import org.eclipse.tm.terminal.view.ui.interfaces.IMementoHandler;
|
||||
import org.eclipse.ui.IMemento;
|
||||
|
||||
/**
|
||||
|
|
Loading…
Add table
Reference in a new issue