diff --git a/terminal/features/org.eclipse.tm.terminal.connector.remote.feature/feature.xml b/terminal/features/org.eclipse.tm.terminal.connector.remote.feature/feature.xml index 5b85ba3f131..de32abe2045 100644 --- a/terminal/features/org.eclipse.tm.terminal.connector.remote.feature/feature.xml +++ b/terminal/features/org.eclipse.tm.terminal.connector.remote.feature/feature.xml @@ -32,17 +32,7 @@ - - - - - - - - - - - + - + properties) { + public ITerminalConnector createTerminalConnector(Map 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 properties, Done done) { + public CompletableFuture execute(Map 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); } } diff --git a/terminal/plugins/org.eclipse.tm.terminal.connector.remote/META-INF/MANIFEST.MF b/terminal/plugins/org.eclipse.tm.terminal.connector.remote/META-INF/MANIFEST.MF index 180c0f6e421..a3753699210 100644 --- a/terminal/plugins/org.eclipse.tm.terminal.connector.remote/META-INF/MANIFEST.MF +++ b/terminal/plugins/org.eclipse.tm.terminal.connector.remote/META-INF/MANIFEST.MF @@ -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 diff --git a/terminal/plugins/org.eclipse.tm.terminal.connector.remote/plugin.xml b/terminal/plugins/org.eclipse.tm.terminal.connector.remote/plugin.xml index db974b30030..96a893d4fc0 100644 --- a/terminal/plugins/org.eclipse.tm.terminal.connector.remote/plugin.xml +++ b/terminal/plugins/org.eclipse.tm.terminal.connector.remote/plugin.xml @@ -11,7 +11,7 @@ - + - + diff --git a/terminal/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/controls/RemoteWizardConfigurationPanel.java b/terminal/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/controls/RemoteWizardConfigurationPanel.java index f0cb639f2fc..4b542c0dac5 100644 --- a/terminal/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/controls/RemoteWizardConfigurationPanel.java +++ b/terminal/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/controls/RemoteWizardConfigurationPanel.java @@ -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 null. + * @since 5 */ public RemoteWizardConfigurationPanel(IConfigurationPanelContainer container) { super(container); diff --git a/terminal/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/Activator.java b/terminal/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/Activator.java index 1d7e63dfecc..3dfad956b3d 100644 --- a/terminal/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/Activator.java +++ b/terminal/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/Activator.java @@ -122,4 +122,5 @@ public class Activator extends Plugin { final ServiceReference ref = context.getServiceReference(service); return ref != null ? context.getService(ref) : null; } + } diff --git a/terminal/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnectionManager.java b/terminal/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnectionManager.java index 4795f836528..39743a62dce 100644 --- a/terminal/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnectionManager.java +++ b/terminal/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnectionManager.java @@ -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; diff --git a/terminal/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnector.java b/terminal/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnector.java index 5b79753f3c9..f844774788e 100644 --- a/terminal/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnector.java +++ b/terminal/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteConnector.java @@ -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)) { diff --git a/terminal/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteSettings.java b/terminal/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteSettings.java index 1d880b1da0c..6bcd281134b 100644 --- a/terminal/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteSettings.java +++ b/terminal/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteSettings.java @@ -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; diff --git a/terminal/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteSettingsPage.java b/terminal/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteSettingsPage.java index dbd3a5b48b3..aa6f56233f0 100644 --- a/terminal/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteSettingsPage.java +++ b/terminal/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/internal/RemoteSettingsPage.java @@ -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; diff --git a/terminal/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/launcher/RemoteLauncherDelegate.java b/terminal/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/launcher/RemoteLauncherDelegate.java index 32d77f4e0d7..e5daa0a5c14 100644 --- a/terminal/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/launcher/RemoteLauncherDelegate.java +++ b/terminal/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/launcher/RemoteLauncherDelegate.java @@ -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 properties, ITerminalService.Done done) { + public CompletableFuture execute(Map 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 properties) { + public ITerminalConnector createTerminalConnector(Map 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; } + } diff --git a/terminal/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/launcher/RemoteMementoHandler.java b/terminal/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/launcher/RemoteMementoHandler.java index 1fcd847e784..289d22604b4 100644 --- a/terminal/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/launcher/RemoteMementoHandler.java +++ b/terminal/plugins/org.eclipse.tm.terminal.connector.remote/src/org/eclipse/tm/terminal/connector/remote/launcher/RemoteMementoHandler.java @@ -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; /**