1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-08-08 08:45:44 +02:00

Migrate CDT provided connectors to the new API

This commit is contained in:
Christoph Läubrich 2025-07-19 17:18:12 +02:00 committed by Alexander Fedorov
parent c63f988d5c
commit 26f3505346
19 changed files with 107 additions and 148 deletions

View file

@ -32,17 +32,7 @@
</license> </license>
<requires> <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 feature="org.eclipse.tm.terminal.control.feature"/>
<import plugin="org.eclipse.core.expressions"/>
</requires> </requires>
<plugin <plugin

View file

@ -2,15 +2,12 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2 Bundle-ManifestVersion: 2
Bundle-Name: %pluginName Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.tm.terminal.connector.cdtserial;singleton:=true 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-Activator: org.eclipse.tm.terminal.connector.cdtserial.activator.Activator
Bundle-Vendor: %providerName Bundle-Vendor: %providerName
Require-Bundle: org.eclipse.core.expressions;bundle-version="[3.9.400,4)", Require-Bundle: org.eclipse.core.expressions;bundle-version="[3.9.400,4)",
org.eclipse.core.runtime;bundle-version="[3.33.0,4)", org.eclipse.core.runtime;bundle-version="[3.33.0,4)",
org.eclipse.equinox.security;bundle-version="[1.4.600,2)", 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.ui;bundle-version="[3.207.200,4)",
org.eclipse.cdt.native.serial;bundle-version="[12.2.0,13)" org.eclipse.cdt.native.serial;bundle-version="[12.2.0,13)"
Bundle-RequiredExecutionEnvironment: JavaSE-17 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.launcher,
org.eclipse.tm.terminal.connector.cdtserial.nls;x-internal:=true org.eclipse.tm.terminal.connector.cdtserial.nls;x-internal:=true
Automatic-Module-Name: org.eclipse.tm.terminal.connector.cdtserial 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)"

View file

@ -13,7 +13,7 @@
<plugin> <plugin>
<!-- Terminal connector contributions --> <!-- Terminal connector contributions -->
<extension point="org.eclipse.tm.terminal.control.connectors"> <extension point="org.eclipse.terminal.control.connectors">
<connector <connector
name="%SerialConnector.label" name="%SerialConnector.label"
id="org.eclipse.tm.terminal.connector.cdtserial.SerialConnector" id="org.eclipse.tm.terminal.connector.cdtserial.SerialConnector"
@ -21,7 +21,7 @@
</extension> </extension>
<!-- Terminal launcher delegate contributions --> <!-- Terminal launcher delegate contributions -->
<extension point="org.eclipse.tm.terminal.view.ui.launcherDelegates"> <extension point="org.eclipse.terminal.view.ui.launcherDelegates">
<delegate <delegate
class="org.eclipse.tm.terminal.connector.cdtserial.launcher.SerialLauncherDelegate" class="org.eclipse.tm.terminal.connector.cdtserial.launcher.SerialLauncherDelegate"
id="org.eclipse.tm.terminal.connector.cdtserial.launcher.serial" id="org.eclipse.tm.terminal.connector.cdtserial.launcher.serial"

View file

@ -18,7 +18,7 @@ import org.eclipse.core.runtime.Status;
import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.resource.ImageRegistry; import org.eclipse.jface.resource.ImageRegistry;
import org.eclipse.swt.graphics.Image; 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.eclipse.ui.plugin.AbstractUIPlugin;
import org.osgi.framework.BundleContext; import org.osgi.framework.BundleContext;

View file

@ -20,14 +20,14 @@ import java.util.Set;
import org.eclipse.cdt.serial.SerialPort; import org.eclipse.cdt.serial.SerialPort;
import org.eclipse.osgi.util.NLS; import org.eclipse.osgi.util.NLS;
import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; import org.eclipse.terminal.connector.ISettingsStore;
import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; import org.eclipse.terminal.connector.ITerminalControl;
import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; import org.eclipse.terminal.connector.TerminalState;
import org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl; import org.eclipse.terminal.connector.provider.AbstractTerminalConnector;
import org.eclipse.tm.terminal.connector.cdtserial.activator.Activator; import org.eclipse.tm.terminal.connector.cdtserial.activator.Activator;
import org.eclipse.tm.terminal.connector.cdtserial.nls.Messages; import org.eclipse.tm.terminal.connector.cdtserial.nls.Messages;
public class SerialConnector extends TerminalConnectorImpl { public class SerialConnector extends AbstractTerminalConnector {
private SerialSettings settings = new SerialSettings(); private SerialSettings settings = new SerialSettings();
SerialPort serialPort; SerialPort serialPort;

View file

@ -17,7 +17,7 @@ import org.eclipse.cdt.serial.ByteSize;
import org.eclipse.cdt.serial.Parity; import org.eclipse.cdt.serial.Parity;
import org.eclipse.cdt.serial.StandardBaudRates; import org.eclipse.cdt.serial.StandardBaudRates;
import org.eclipse.cdt.serial.StopBits; import org.eclipse.cdt.serial.StopBits;
import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; import org.eclipse.terminal.connector.ISettingsStore;
public class SerialSettings { public class SerialSettings {
@ -35,6 +35,7 @@ public class SerialSettings {
/** /**
* Load information into the RemoteSettings object. * Load information into the RemoteSettings object.
* @since 5
*/ */
public void load(ISettingsStore store) { public void load(ISettingsStore store) {
portName = store.get(PORT_NAME_ATTR, ""); //$NON-NLS-1$ portName = store.get(PORT_NAME_ATTR, ""); //$NON-NLS-1$
@ -91,6 +92,7 @@ public class SerialSettings {
/** /**
* Extract information from the RemoteSettings object. * Extract information from the RemoteSettings object.
* @since 5
*/ */
public void save(ISettingsStore store) { public void save(ISettingsStore store) {
store.put(PORT_NAME_ATTR, portName); store.put(PORT_NAME_ATTR, portName);
@ -108,14 +110,6 @@ public class SerialSettings {
this.portName = portName; this.portName = portName;
} }
/**
* @deprecated Use {@link #getBaudRateValue()}
*/
@Deprecated
public BaudRate getBaudRate() {
return BaudRate.getClosest(baudRate);
}
/** /**
* @since 4.7 * @since 4.7
*/ */

View file

@ -21,17 +21,22 @@ import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite; 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.SerialConnector;
import org.eclipse.tm.terminal.connector.cdtserial.connector.SerialSettings; 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 { public class SerialConfigPanel extends AbstractExtendedConfigurationPanel {
private SerialSettings settings; private SerialSettings settings;
private SerialSettingsPage page; private SerialSettingsPage page;
/**
*
* @param container
* @since 5
*/
public SerialConfigPanel(IConfigurationPanelContainer container) { public SerialConfigPanel(IConfigurationPanelContainer container) {
super(container); super(container);
} }

View file

@ -29,13 +29,13 @@ import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Combo; import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Label; 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.activator.Activator;
import org.eclipse.tm.terminal.connector.cdtserial.connector.SerialConnector; 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.connector.SerialSettings;
import org.eclipse.tm.terminal.connector.cdtserial.nls.Messages; 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 { public class SerialSettingsPage extends AbstractSettingsPage {
@ -55,6 +55,12 @@ public class SerialSettingsPage extends AbstractSettingsPage {
private Parity parity; private Parity parity;
private StopBits stopBits; private StopBits stopBits;
/**
*
* @param settings
* @param panel
* @since 5
*/
public SerialSettingsPage(SerialSettings settings, IConfigurationPanel panel) { public SerialSettingsPage(SerialSettings settings, IConfigurationPanel panel) {
this.settings = settings; this.settings = settings;
this.panel = panel; this.panel = panel;

View file

@ -13,24 +13,24 @@
package org.eclipse.tm.terminal.connector.cdtserial.launcher; package org.eclipse.tm.terminal.connector.cdtserial.launcher;
import java.util.Map; import java.util.Map;
import java.util.concurrent.CompletableFuture;
import org.eclipse.cdt.serial.ByteSize; import org.eclipse.cdt.serial.ByteSize;
import org.eclipse.cdt.serial.Parity; import org.eclipse.cdt.serial.Parity;
import org.eclipse.cdt.serial.StopBits; import org.eclipse.cdt.serial.StopBits;
import org.eclipse.core.runtime.Assert; import org.eclipse.core.runtime.Assert;
import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; import org.eclipse.core.runtime.CoreException;
import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; import org.eclipse.terminal.connector.ISettingsStore;
import org.eclipse.tm.internal.terminal.provisional.api.TerminalConnectorExtension; 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.connector.SerialSettings;
import org.eclipse.tm.terminal.connector.cdtserial.controls.SerialConfigPanel; 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 { public class SerialLauncherDelegate extends AbstractLauncherDelegate {
@ -45,7 +45,7 @@ public class SerialLauncherDelegate extends AbstractLauncherDelegate {
} }
@Override @Override
public ITerminalConnector createTerminalConnector(Map<String, Object> properties) { public ITerminalConnector createTerminalConnector(Map<String, Object> properties) throws CoreException {
Assert.isNotNull(properties); Assert.isNotNull(properties);
// Check for the terminal connector id // Check for the terminal connector id
@ -63,23 +63,20 @@ public class SerialLauncherDelegate extends AbstractLauncherDelegate {
settings.setStopBits((StopBits) properties.get(SerialSettings.STOP_BITS_ATTR)); settings.setStopBits((StopBits) properties.get(SerialSettings.STOP_BITS_ATTR));
// Construct the terminal settings store // Construct the terminal settings store
ISettingsStore store = new SettingsStore(); ISettingsStore store = new InMemorySettingsStore();
settings.save(store); settings.save(store);
// Construct the terminal connector instance // Construct the terminal connector instance
ITerminalConnector connector = TerminalConnectorExtension.makeTerminalConnector(connectorId); ITerminalConnector connector = TerminalConnectorExtension.makeTerminalConnector(connectorId);
if (connector != null) {
// Apply default settings // Apply default settings
connector.setDefaultSettings(); connector.setDefaultSettings();
// And load the real settings // And load the real settings
connector.load(store); connector.load(store);
}
return connector; return connector;
} }
@Override @Override
public void execute(Map<String, Object> properties, Done done) { public CompletableFuture<?> execute(Map<String, Object> properties) {
Assert.isNotNull(properties); Assert.isNotNull(properties);
// Set the terminal tab title // Set the terminal tab title
@ -93,11 +90,8 @@ public class SerialLauncherDelegate extends AbstractLauncherDelegate {
} }
// Get the terminal service // Get the terminal service
ITerminalService terminal = TerminalServiceFactory.getService(); ITerminalService terminal = getTerminalService();
// If not available, we cannot fulfill this request return terminal.openConsole(properties);
if (terminal != null) {
terminal.openConsole(properties, done);
}
} }
} }

View file

@ -2,20 +2,17 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2 Bundle-ManifestVersion: 2
Bundle-Name: %pluginName Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.tm.terminal.connector.remote;singleton:=true 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-Vendor: %providerName
Bundle-Localization: plugin Bundle-Localization: plugin
Require-Bundle: org.eclipse.ui;bundle-version="[3.207.200,4)", Require-Bundle: org.eclipse.ui;bundle-version="[3.207.200,4)",
org.eclipse.core.runtime;bundle-version="[3.33.0,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.core;bundle-version="[4.2.300,5)",
org.eclipse.remote.ui;bundle-version="[2.3.300,3)", org.eclipse.remote.ui;bundle-version="[2.3.300,3)",
org.eclipse.core.resources;bundle-version="[3.22.200,4)", org.eclipse.core.resources;bundle-version="[3.22.200,4)",
org.eclipse.swt;bundle-version="[3.130.0,4)", org.eclipse.swt;bundle-version="[3.130.0,4)",
org.eclipse.jface;bundle-version="[3.37.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)"
Bundle-RequiredExecutionEnvironment: JavaSE-17 Bundle-RequiredExecutionEnvironment: JavaSE-17
Export-Package: org.eclipse.tm.terminal.connector.remote, Export-Package: org.eclipse.tm.terminal.connector.remote,
org.eclipse.tm.terminal.connector.remote.controls, org.eclipse.tm.terminal.connector.remote.controls,
@ -27,5 +24,8 @@ Bundle-Activator: org.eclipse.tm.terminal.connector.remote.internal.Activator
Bundle-ActivationPolicy: lazy Bundle-ActivationPolicy: lazy
Eclipse-LazyStart: true Eclipse-LazyStart: true
Import-Package: org.eclipse.core.resources, 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 org.eclipse.ui.ide
Automatic-Module-Name: org.eclipse.tm.terminal.connector.remote Automatic-Module-Name: org.eclipse.tm.terminal.connector.remote

View file

@ -11,7 +11,7 @@
<extension-point id="parsers" name="Terminal Parsers" schema="schema/parsers.exsd"/> <extension-point id="parsers" name="Terminal Parsers" schema="schema/parsers.exsd"/>
<!-- Terminal connector contributions --> <!-- Terminal connector contributions -->
<extension point="org.eclipse.tm.terminal.control.connectors"> <extension point="org.eclipse.terminal.control.connectors">
<connector <connector
name="%connectionName" name="%connectionName"
id="org.eclipse.tm.terminal.connector.remote.RemoteConnector" id="org.eclipse.tm.terminal.connector.remote.RemoteConnector"
@ -19,7 +19,7 @@
</extension> </extension>
<!-- Terminal launcher delegate contributions --> <!-- Terminal launcher delegate contributions -->
<extension point="org.eclipse.tm.terminal.view.ui.launcherDelegates"> <extension point="org.eclipse.terminal.view.ui.launcherDelegates">
<delegate <delegate
class="org.eclipse.tm.terminal.connector.remote.launcher.RemoteLauncherDelegate" class="org.eclipse.tm.terminal.connector.remote.launcher.RemoteLauncherDelegate"
id="org.eclipse.tm.terminal.connector.telnet.launcher.remote" id="org.eclipse.tm.terminal.connector.telnet.launcher.remote"
@ -36,7 +36,7 @@
<extension point="org.eclipse.ui.preferencePages"> <extension point="org.eclipse.ui.preferencePages">
<page <page
category="org.eclipse.tm.terminal.TerminalPreferencePage" category="org.eclipse.terminal.TerminalPreferencePage"
class="org.eclipse.tm.terminal.connector.remote.internal.preferences.RemoteTerminalPreferencePage" class="org.eclipse.tm.terminal.connector.remote.internal.preferences.RemoteTerminalPreferencePage"
id="org.eclipse.tm.terminal.remote.page" id="org.eclipse.tm.terminal.remote.page"
name="%RemoteTerminalPage.name"> name="%RemoteTerminalPage.name">

View file

@ -19,20 +19,19 @@ import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Control;
import org.eclipse.tm.internal.terminal.provisional.api.AbstractSettingsPage; import org.eclipse.terminal.connector.AbstractSettingsPage;
import org.eclipse.tm.internal.terminal.provisional.api.ISettingsPage; 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.IRemoteSettings;
import org.eclipse.tm.terminal.connector.remote.internal.RemoteConnector; 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.RemoteSettings;
import org.eclipse.tm.terminal.connector.remote.internal.RemoteSettingsPage; 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. * Remote wizard configuration panel implementation.
*/ */
@SuppressWarnings("restriction")
public class RemoteWizardConfigurationPanel extends AbstractExtendedConfigurationPanel { public class RemoteWizardConfigurationPanel extends AbstractExtendedConfigurationPanel {
private RemoteSettings remoteSettings; private RemoteSettings remoteSettings;
@ -43,6 +42,7 @@ public class RemoteWizardConfigurationPanel extends AbstractExtendedConfiguratio
* *
* @param container * @param container
* The configuration panel container or <code>null</code>. * The configuration panel container or <code>null</code>.
* @since 5
*/ */
public RemoteWizardConfigurationPanel(IConfigurationPanelContainer container) { public RemoteWizardConfigurationPanel(IConfigurationPanelContainer container) {
super(container); super(container);

View file

@ -122,4 +122,5 @@ public class Activator extends Plugin {
final ServiceReference<T> ref = context.getServiceReference(service); final ServiceReference<T> ref = context.getServiceReference(service);
return ref != null ? context.getService(ref) : null; return ref != null ? context.getService(ref) : null;
} }
} }

View file

@ -33,11 +33,11 @@ import org.eclipse.remote.core.IRemoteProcessService;
import org.eclipse.remote.core.IRemoteProcessTerminalService; import org.eclipse.remote.core.IRemoteProcessTerminalService;
import org.eclipse.remote.core.IRemoteServicesManager; import org.eclipse.remote.core.IRemoteServicesManager;
import org.eclipse.remote.core.exception.RemoteConnectionException; import org.eclipse.remote.core.exception.RemoteConnectionException;
import org.eclipse.tm.internal.terminal.control.ITerminalListener3.TerminalTitleRequestor; import org.eclipse.terminal.connector.ITerminalControl;
import org.eclipse.tm.internal.terminal.emulator.VT100Emulator; import org.eclipse.terminal.connector.TerminalState;
import org.eclipse.tm.internal.terminal.emulator.VT100TerminalControl; import org.eclipse.terminal.control.TerminalTitleRequestor;
import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; import org.eclipse.terminal.internal.emulator.VT100Emulator;
import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; import org.eclipse.terminal.internal.emulator.VT100TerminalControl;
import org.eclipse.tm.terminal.connector.remote.IRemoteTerminalConstants; import org.eclipse.tm.terminal.connector.remote.IRemoteTerminalConstants;
import org.eclipse.tm.terminal.connector.remote.IRemoteTerminalParser; import org.eclipse.tm.terminal.connector.remote.IRemoteTerminalParser;
import org.eclipse.tm.terminal.connector.remote.nls.Messages; import org.eclipse.tm.terminal.connector.remote.nls.Messages;

View file

@ -12,15 +12,14 @@ package org.eclipse.tm.terminal.connector.remote.internal;
import java.io.InputStream; import java.io.InputStream;
import java.io.OutputStream; import java.io.OutputStream;
import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; import org.eclipse.terminal.connector.ISettingsStore;
import org.eclipse.tm.internal.terminal.provisional.api.ITerminalControl; import org.eclipse.terminal.connector.ITerminalControl;
import org.eclipse.tm.internal.terminal.provisional.api.NullSettingsStore; import org.eclipse.terminal.connector.NullSettingsStore;
import org.eclipse.tm.internal.terminal.provisional.api.TerminalState; import org.eclipse.terminal.connector.TerminalState;
import org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl; import org.eclipse.terminal.connector.provider.AbstractTerminalConnector;
import org.eclipse.tm.terminal.connector.remote.IRemoteSettings; import org.eclipse.tm.terminal.connector.remote.IRemoteSettings;
@SuppressWarnings("restriction") public class RemoteConnector extends AbstractTerminalConnector {
public class RemoteConnector extends TerminalConnectorImpl {
private OutputStream fOutputStream; private OutputStream fOutputStream;
private InputStream fInputStream; private InputStream fInputStream;
private RemoteConnectionManager fConnection; private RemoteConnectionManager fConnection;
@ -36,13 +35,6 @@ public class RemoteConnector extends TerminalConnectorImpl {
fSettings = settings; fSettings = settings;
} }
/*
* (non-Javadoc)
*
* @see
* org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl#connect(org.eclipse.tm.internal.terminal.
* provisional.api.ITerminalControl)
*/
@Override @Override
public void connect(ITerminalControl control) { public void connect(ITerminalControl control) {
super.connect(control); super.connect(control);
@ -51,11 +43,6 @@ public class RemoteConnector extends TerminalConnectorImpl {
fConnection.schedule(); fConnection.schedule();
} }
/*
* (non-Javadoc)
*
* @see org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl#doDisconnect()
*/
@Override @Override
public synchronized void doDisconnect() { public synchronized void doDisconnect() {
fConnection.cancel(); fConnection.cancel();
@ -65,11 +52,6 @@ public class RemoteConnector extends TerminalConnectorImpl {
return fInputStream; return fInputStream;
} }
/*
* (non-Javadoc)
*
* @see org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl#getSettingsSummary()
*/
@Override @Override
public String getSettingsSummary() { public String getSettingsSummary() {
return fSettings.getSummary(); return fSettings.getSummary();
@ -84,11 +66,6 @@ public class RemoteConnector extends TerminalConnectorImpl {
return fSettings; return fSettings;
} }
/*
* (non-Javadoc)
*
* @see org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl#getTerminalToRemoteStream()
*/
@Override @Override
public OutputStream getTerminalToRemoteStream() { public OutputStream getTerminalToRemoteStream() {
return fOutputStream; return fOutputStream;
@ -117,11 +94,6 @@ public class RemoteConnector extends TerminalConnectorImpl {
fOutputStream = outputStream; fOutputStream = outputStream;
} }
/*
* (non-Javadoc)
*
* @see org.eclipse.tm.internal.terminal.provisional.api.provider.TerminalConnectorImpl#setTerminalSize(int, int)
*/
@Override @Override
public void setTerminalSize(int newWidth, int newHeight) { public void setTerminalSize(int newWidth, int newHeight) {
if (fConnection != null && (newWidth != fWidth || newHeight != fHeight)) { if (fConnection != null && (newWidth != fWidth || newHeight != fHeight)) {

View file

@ -7,10 +7,9 @@
*******************************************************************************/ *******************************************************************************/
package org.eclipse.tm.terminal.connector.remote.internal; 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; import org.eclipse.tm.terminal.connector.remote.IRemoteSettings;
@SuppressWarnings("restriction")
public class RemoteSettings implements IRemoteSettings { public class RemoteSettings implements IRemoteSettings {
protected String connectionTypeId; protected String connectionTypeId;
protected String connectionName; protected String connectionName;

View file

@ -21,12 +21,11 @@ import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite; 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.BundleContext;
import org.osgi.framework.FrameworkUtil; import org.osgi.framework.FrameworkUtil;
import org.osgi.framework.ServiceReference; import org.osgi.framework.ServiceReference;
@SuppressWarnings("restriction")
public class RemoteSettingsPage extends AbstractSettingsPage { public class RemoteSettingsPage extends AbstractSettingsPage {
private final RemoteSettings fTerminalSettings; private final RemoteSettings fTerminalSettings;
private RemoteConnectionWidget fRemoteConnectionWidget; private RemoteConnectionWidget fRemoteConnectionWidget;

View file

@ -14,33 +14,33 @@ package org.eclipse.tm.terminal.connector.remote.launcher;
import java.text.DateFormat; import java.text.DateFormat;
import java.util.Date; import java.util.Date;
import java.util.Map; import java.util.Map;
import java.util.concurrent.CompletableFuture;
import org.eclipse.core.runtime.Assert; import org.eclipse.core.runtime.Assert;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.osgi.util.NLS; import org.eclipse.osgi.util.NLS;
import org.eclipse.remote.core.IRemoteConnection; import org.eclipse.remote.core.IRemoteConnection;
import org.eclipse.remote.core.IRemoteConnectionType; import org.eclipse.remote.core.IRemoteConnectionType;
import org.eclipse.remote.core.IRemoteServicesManager; import org.eclipse.remote.core.IRemoteServicesManager;
import org.eclipse.tm.internal.terminal.provisional.api.ISettingsStore; import org.eclipse.terminal.connector.ISettingsStore;
import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; import org.eclipse.terminal.connector.ITerminalConnector;
import org.eclipse.tm.internal.terminal.provisional.api.TerminalConnectorExtension; 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.IRemoteSettings;
import org.eclipse.tm.terminal.connector.remote.controls.RemoteWizardConfigurationPanel; 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.Activator;
import org.eclipse.tm.terminal.connector.remote.internal.RemoteSettings; import org.eclipse.tm.terminal.connector.remote.internal.RemoteSettings;
import org.eclipse.tm.terminal.connector.remote.nls.Messages; 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. * Remote launcher delegate implementation.
*/ */
@SuppressWarnings("restriction")
public class RemoteLauncherDelegate extends AbstractLauncherDelegate { public class RemoteLauncherDelegate extends AbstractLauncherDelegate {
// The Remote terminal connection memento handler // The Remote terminal connection memento handler
private final IMementoHandler mementoHandler = new RemoteMementoHandler(); 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) * @see org.eclipse.tm.terminal.view.ui.interfaces.ILauncherDelegate#execute(java.util.Map, org.eclipse.tm.terminal.view.core.interfaces.ITerminalService.Done)
*/ */
@Override @Override
public void execute(Map<String, Object> properties, ITerminalService.Done done) { public CompletableFuture<?> execute(Map<String, Object> properties) {
Assert.isNotNull(properties); Assert.isNotNull(properties);
// Set the terminal tab title // Set the terminal tab title
@ -81,11 +81,9 @@ public class RemoteLauncherDelegate extends AbstractLauncherDelegate {
} }
// Get the terminal service // Get the terminal service
ITerminalService terminal = TerminalServiceFactory.getService(); ITerminalService terminal = getTerminalService();
// If not available, we cannot fulfill this request // If not available, we cannot fulfill this request
if (terminal != null) { return terminal.openConsole(properties);
terminal.openConsole(properties, done);
}
} }
/** /**
@ -128,7 +126,7 @@ public class RemoteLauncherDelegate extends AbstractLauncherDelegate {
* @see org.eclipse.tm.terminal.view.ui.interfaces.ILauncherDelegate#createTerminalConnector(java.util.Map) * @see org.eclipse.tm.terminal.view.ui.interfaces.ILauncherDelegate#createTerminalConnector(java.util.Map)
*/ */
@Override @Override
public ITerminalConnector createTerminalConnector(Map<String, Object> properties) { public ITerminalConnector createTerminalConnector(Map<String, Object> properties) throws CoreException {
Assert.isNotNull(properties); Assert.isNotNull(properties);
// Check for the terminal connector id // Check for the terminal connector id
@ -142,7 +140,7 @@ public class RemoteLauncherDelegate extends AbstractLauncherDelegate {
String connName = (String) properties.get(IRemoteSettings.CONNECTION_NAME); String connName = (String) properties.get(IRemoteSettings.CONNECTION_NAME);
// Construct the terminal settings store // Construct the terminal settings store
ISettingsStore store = new SettingsStore(); ISettingsStore store = new InMemorySettingsStore();
// Construct the remote settings // Construct the remote settings
RemoteSettings remoteSettings = new RemoteSettings(); RemoteSettings remoteSettings = new RemoteSettings();
@ -153,12 +151,10 @@ public class RemoteLauncherDelegate extends AbstractLauncherDelegate {
// Construct the terminal connector instance // Construct the terminal connector instance
ITerminalConnector connector = TerminalConnectorExtension.makeTerminalConnector(connectorId); ITerminalConnector connector = TerminalConnectorExtension.makeTerminalConnector(connectorId);
if (connector != null) {
// Apply default settings // Apply default settings
connector.setDefaultSettings(); connector.setDefaultSettings();
// And load the real settings // And load the real settings
connector.load(store); connector.load(store);
}
if (!properties.containsKey(ITerminalsConnectorConstants.PROP_ENCODING)) { if (!properties.containsKey(ITerminalsConnectorConstants.PROP_ENCODING)) {
IRemoteServicesManager svcMgr = Activator.getService(IRemoteServicesManager.class); IRemoteServicesManager svcMgr = Activator.getService(IRemoteServicesManager.class);
@ -177,4 +173,5 @@ public class RemoteLauncherDelegate extends AbstractLauncherDelegate {
return connector; return connector;
} }
} }

View file

@ -14,9 +14,9 @@ package org.eclipse.tm.terminal.connector.remote.launcher;
import java.util.Map; import java.util.Map;
import org.eclipse.core.runtime.Assert; 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.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; import org.eclipse.ui.IMemento;
/** /**