- move TerminalHandler to separate plugin since it performs actions that are best suited for remote utilities - remove TerminalHandler from remotetools plugin - modify org.yocto.sdk.remotetools to use implementation from org.yocto.remote.utils
Signed-off-by: Ioana Grigoropol <[email protected]> --- .../org.yocto.remote.utils/META-INF/MANIFEST.MF | 9 ++++++- .../org/yocto/remote/utils}/TerminalHandler.java | 28 ++++++++++---------- .../sdk/remotetools/actions/DialogHandler.java | 1 + 3 files changed, 23 insertions(+), 15 deletions(-) rename plugins/{org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions => org.yocto.remote.utils/src/org/yocto/remote/utils}/TerminalHandler.java (94%) diff --git a/plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF b/plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF index 9616484..e7afbd0 100644 --- a/plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF +++ b/plugins/org.yocto.remote.utils/META-INF/MANIFEST.MF @@ -11,10 +11,17 @@ Bundle-RequiredExecutionEnvironment: JavaSE-1.7 Import-Package: org.eclipse.rse.core, org.eclipse.rse.core.model, org.eclipse.rse.core.subsystems, + org.eclipse.rse.internal.terminals.ui, + org.eclipse.rse.internal.terminals.ui.views, org.eclipse.rse.services, org.eclipse.rse.services.files, org.eclipse.rse.services.shells, + org.eclipse.rse.services.terminals, org.eclipse.rse.subsystems.files.core.servicesubsystem, org.eclipse.rse.subsystems.shells.core.subsystems.servicesubsystem, - org.eclipse.rse.subsystems.terminals.core + org.eclipse.rse.subsystems.terminals.core, + org.eclipse.rse.subsystems.terminals.core.elements, + org.eclipse.rse.ui, + org.eclipse.tm.internal.terminal.control, + org.eclipse.tm.internal.terminal.provisional.api Export-Package: org.yocto.remote.utils diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/TerminalHandler.java b/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/TerminalHandler.java similarity index 94% rename from plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/TerminalHandler.java rename to plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/TerminalHandler.java index ae04dc9..e28ae79 100644 --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/TerminalHandler.java +++ b/plugins/org.yocto.remote.utils/src/org/yocto/remote/utils/TerminalHandler.java @@ -8,7 +8,7 @@ * Contributors: * Intel - initial API and implementation *******************************************************************************/ -package org.yocto.sdk.remotetools.actions; +package org.yocto.remote.utils; import org.eclipse.core.commands.AbstractHandler; import org.eclipse.core.commands.ExecutionException; @@ -33,20 +33,18 @@ import org.eclipse.swt.events.DisposeListener; import org.eclipse.swt.widgets.Shell; import org.eclipse.tm.internal.terminal.control.ITerminalViewControl; import org.eclipse.tm.internal.terminal.provisional.api.ITerminalConnector; -import org.yocto.remote.utils.CommonHelper; -import org.yocto.remote.utils.RSEHelper; abstract public class TerminalHandler extends AbstractHandler { - - + + protected Shell shell; - - protected String changeTerm="export TERM=vt100;"; - + + protected String changeTerm = "export TERM=vt100;"; + abstract protected String getInitCmd(); abstract protected String getConnnectionName(); abstract protected String getDialogTitle(); - + protected ITerminalShell getTerminalShellFromTab(CTabItem item) { ITerminalShell terminalShell = null; ITerminalViewControl terminalViewControl = (ITerminalViewControl) item @@ -65,7 +63,8 @@ abstract public class TerminalHandler extends AbstractHandler { try { ProgressMonitorDialog dialog = new ProgressMonitorDialog(shell); dialog.run(true, true, new IRunnableWithProgress(){ - public void run(IProgressMonitor monitor) { + @Override + public void run(IProgressMonitor monitor) { monitor.beginTask("Connecting to remote target ...", 100); try { terminalSubSystem.connect(new NullProgressMonitor(), false); @@ -73,7 +72,7 @@ abstract public class TerminalHandler extends AbstractHandler { } catch (Exception e) { CommonHelper.showErrorDialog("Connection failure", null, e.getMessage()); monitor.done(); - + } } }); @@ -88,11 +87,11 @@ abstract public class TerminalHandler extends AbstractHandler { return true; return false; } - + public void execute(IHost host) throws ExecutionException { - + final ITerminalServiceSubSystem terminalSubSystem = RSEHelper.getTerminalSubSystem(host); - + if (terminalSubSystem != null) { TerminalsUI terminalsUI = TerminalsUI.getInstance(); TerminalViewer viewer = terminalsUI.activateTerminalsView(); @@ -103,6 +102,7 @@ abstract public class TerminalHandler extends AbstractHandler { //we have manually exit it here try { tab.addDisposeListener(new DisposeListener() { + @Override public void widgetDisposed(DisposeEvent e) { Object source = e.getSource(); if (source instanceof CTabItem) { diff --git a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/DialogHandler.java b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/DialogHandler.java index d5c3583..ca6d13b 100644 --- a/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/DialogHandler.java +++ b/plugins/org.yocto.sdk.remotetools/src/org/yocto/sdk/remotetools/actions/DialogHandler.java @@ -15,6 +15,7 @@ import org.eclipse.core.commands.ExecutionException; import org.eclipse.rse.core.model.IHost; import org.eclipse.ui.IWorkbenchWindow; import org.eclipse.ui.handlers.HandlerUtil; +import org.yocto.remote.utils.TerminalHandler; abstract public class DialogHandler extends TerminalHandler { -- 1.7.9.5 _______________________________________________ yocto mailing list [email protected] https://lists.yoctoproject.org/listinfo/yocto
